• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/xnu-2782.1.97/osfmk/ipc/

Lines Matching refs:space

96  *		Function versions of the IPC space inline reference.
101 ipc_space_t space)
103 is_reference(space);
108 ipc_space_t space)
110 is_release(space);
116 * Creates a new IPC space.
118 * The new space has two references, one for the caller
123 * KERN_SUCCESS Created a space.
132 ipc_space_t space;
137 space = is_alloc();
138 if (space == IS_NULL)
143 is_free(space);
164 is_lock_init(space);
165 space->is_bits = 2; /* 2 refs, active, not growing */
166 space->is_table_size = new_size;
167 space->is_table_free = new_size - 1;
168 space->is_table = table;
169 space->is_table_next = initial+1;
170 space->is_task = NULL;
171 space->is_low_mod = new_size;
172 space->is_high_mod = 0;
174 *spacep = space;
181 * Create a special space. A special space
189 * KERN_SUCCESS Created a space.
197 ipc_space_t space;
199 space = is_alloc();
200 if (space == IS_NULL)
203 is_lock_init(space);
205 space->is_bits = IS_INACTIVE | 1; /* 1 ref, not active, not growing */
206 space->is_table = IE_NULL;
207 space->is_task = TASK_NULL;
208 space->is_table_next = 0;
209 space->is_low_mod = 0;
210 space->is_high_mod = 0;
212 *spacep = space;
217 * ipc_space_clean - remove all port references from an ipc space.
220 * will not destroy the entire port table of a shared space. Instead
221 * it will simply clear its own sub-space.
225 ipc_space_t space)
234 * out the space died.
237 is_write_lock(space);
238 while (is_growing(space))
239 is_write_sleep(space);
241 if (!is_active(space)) {
242 is_write_unlock(space);
250 table = space->is_table;
251 size = space->is_table_size;
261 ipc_right_destroy(space, name, entry, FALSE, 0); /* unlocks space */
272 is_write_unlock(space);
279 * Marks the space as dead and cleans up the entries.
280 * Does nothing if the space is already dead.
287 ipc_space_t space)
293 assert(space != IS_NULL);
295 is_write_lock(space);
296 if (!is_active(space)) {
297 is_write_unlock(space);
300 is_mark_inactive(space);
305 * out the space died.
307 while (is_growing(space))
308 is_write_sleep(space);
310 is_write_unlock(space);
317 table = space->is_table;
318 size = space->is_table_size;
330 ipc_right_terminate(space, name, entry);
334 it_entries_free(space->is_table_next-1, table);
335 space->is_table_size = 0;
336 space->is_table_free = 0;
339 * Because the space is now dead,
343 is_release(space);