• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/xnu-2422.115.4/osfmk/ipc/

Lines Matching defs: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 = table;
168 space->is_table_next = initial+1;
169 space->is_task = NULL;
170 space->is_low_mod = new_size;
171 space->is_high_mod = 0;
173 *spacep = space;
180 * Create a special space. A special space
188 * KERN_SUCCESS Created a space.
196 ipc_space_t space;
198 space = is_alloc();
199 if (space == IS_NULL)
202 is_lock_init(space);
204 space->is_bits = IS_INACTIVE | 1; /* 1 ref, not active, not growing */
205 space->is_table = IE_NULL;
206 space->is_task = TASK_NULL;
207 space->is_table_next = 0;
208 space->is_low_mod = 0;
209 space->is_high_mod = 0;
211 *spacep = space;
216 * ipc_space_clean - remove all port references from an ipc space.
219 * will not destroy the entire port table of a shared space. Instead
220 * it will simply clear its own sub-space.
224 ipc_space_t space)
233 * out the space died.
236 is_write_lock(space);
237 while (is_growing(space))
238 is_write_sleep(space);
240 if (!is_active(space)) {
241 is_write_unlock(space);
249 table = space->is_table;
250 size = space->is_table_size;
260 ipc_right_destroy(space, name, entry, FALSE, 0); /* unlocks space */
271 is_write_unlock(space);
278 * Marks the space as dead and cleans up the entries.
279 * Does nothing if the space is already dead.
286 ipc_space_t space)
292 assert(space != IS_NULL);
294 is_write_lock(space);
295 if (!is_active(space)) {
296 is_write_unlock(space);
299 is_mark_inactive(space);
304 * out the space died.
306 while (is_growing(space))
307 is_write_sleep(space);
309 is_write_unlock(space);
316 table = space->is_table;
317 size = space->is_table_size;
329 ipc_right_terminate(space, name, entry);
333 it_entries_free(space->is_table_next-1, table);
334 space->is_table_size = 0;
337 * Because the space is now dead,
341 is_release(space);