]> git.saurik.com Git - apple/libdispatch.git/blobdiff - src/io_internal.h
libdispatch-913.30.4.tar.gz
[apple/libdispatch.git] / src / io_internal.h
index ecdc77583507ab9f8f9d1b1b66785c961ff5a996..672727fae6f574f0343f428b28a518804712f56e 100644 (file)
@@ -66,8 +66,8 @@ typedef unsigned int dispatch_op_flags_t;
 #define DIO_CLOSED             1u // channel has been closed
 #define DIO_STOPPED            2u // channel has been stopped (implies closed)
 
-DISPATCH_DECL_INTERNAL(dispatch_operation);
-DISPATCH_DECL_INTERNAL(dispatch_disk);
+DISPATCH_INTERNAL_CLASS_DECL(operation);
+DISPATCH_INTERNAL_CLASS_DECL(disk);
 
 struct dispatch_stream_s {
        dispatch_queue_t dq;
@@ -94,9 +94,8 @@ struct dispatch_stat_s {
        mode_t mode;
 };
 
-DISPATCH_CLASS_DECL(disk);
 struct dispatch_disk_s {
-       DISPATCH_STRUCT_HEADER(disk);
+       DISPATCH_OBJECT_HEADER(disk);
        TAILQ_HEAD(dispatch_disk_operations_s, dispatch_operation_s) operations;
        dispatch_operation_t cur_rq;
        dispatch_queue_t pick_queue;
@@ -141,9 +140,8 @@ typedef struct dispatch_io_param_s {
        unsigned long interval_flags;
 } dispatch_io_param_s;
 
-DISPATCH_CLASS_DECL(operation);
 struct dispatch_operation_s {
-       DISPATCH_STRUCT_HEADER(operation);
+       DISPATCH_OBJECT_HEADER(operation);
        dispatch_queue_t op_q;
        dispatch_op_direction_t direction; // READ OR WRITE
        dispatch_io_param_s params;
@@ -167,7 +165,7 @@ struct dispatch_operation_s {
 
 DISPATCH_CLASS_DECL(io);
 struct dispatch_io_s {
-       DISPATCH_STRUCT_HEADER(io);
+       DISPATCH_OBJECT_HEADER(io);
        dispatch_queue_t queue, barrier_queue;
        dispatch_group_t barrier_group;
        dispatch_io_param_s params;
@@ -180,10 +178,11 @@ struct dispatch_io_s {
 
 void _dispatch_io_set_target_queue(dispatch_io_t channel, dispatch_queue_t dq);
 size_t _dispatch_io_debug(dispatch_io_t channel, char* buf, size_t bufsiz);
-void _dispatch_io_dispose(dispatch_io_t channel);
+void _dispatch_io_dispose(dispatch_io_t channel, bool *allow_free);
 size_t _dispatch_operation_debug(dispatch_operation_t op, char* buf,
                size_t bufsiz);
-void _dispatch_operation_dispose(dispatch_operation_t operation);
-void _dispatch_disk_dispose(dispatch_disk_t disk);
+void _dispatch_operation_dispose(dispatch_operation_t operation,
+               bool *allow_free);
+void _dispatch_disk_dispose(dispatch_disk_t disk, bool *allow_free);
 
 #endif // __DISPATCH_IO_INTERNAL__