48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
struct pollfd p = { _cancelFD[0], POLLIN, 0 };
_FDs = [[OFMutableData alloc] initWithItemSize:
sizeof(struct pollfd)];
[_FDs addItem: &p];
_maxFD = _cancelFD[0];
_FDToObject = [self allocMemoryWithSize: sizeof(id)
count: (size_t)_maxFD + 1];
} @catch (id e) {
[self release];
@throw e;
}
return self;
}
- (void)dealloc
{
[_FDs release];
[super dealloc];
}
- (void)of_addObject: (id)object
fileDescriptor: (int)fd
events: (short)events OF_DIRECT
|
<
|
>
|
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
struct pollfd p = { _cancelFD[0], POLLIN, 0 };
_FDs = [[OFMutableData alloc] initWithItemSize:
sizeof(struct pollfd)];
[_FDs addItem: &p];
_maxFD = _cancelFD[0];
_FDToObject = of_malloc((size_t)_maxFD + 1, sizeof(id));
} @catch (id e) {
[self release];
@throw e;
}
return self;
}
- (void)dealloc
{
[_FDs release];
free(_FDToObject);
[super dealloc];
}
- (void)of_addObject: (id)object
fileDescriptor: (int)fd
events: (short)events OF_DIRECT
|
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
}
if (!found) {
struct pollfd p = { fd, events, 0 };
if (fd > _maxFD) {
_maxFD = fd;
_FDToObject = [self resizeMemory: _FDToObject
size: sizeof(id)
count: (size_t)_maxFD + 1];
}
_FDToObject[fd] = object;
[_FDs addItem: &p];
}
}
|
|
<
|
|
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
}
if (!found) {
struct pollfd p = { fd, events, 0 };
if (fd > _maxFD) {
_maxFD = fd;
_FDToObject = of_realloc(_FDToObject,
(size_t)_maxFD + 1, sizeof(id));
}
_FDToObject[fd] = object;
[_FDs addItem: &p];
}
}
|