Ignore:
Timestamp:
Apr 29, 2020, 3:49:30 PM (4 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
f6660520
Parents:
44aad8f
Message:

Minor fixes to I/O

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/io.cfa

    r44aad8f rc59a346  
    7575       #endif
    7676
    77 
    7877//=============================================================================================
    7978// I/O Startup / Shutdown logic
     
    150149                sq.array   = (         uint32_t *)(((intptr_t)sq.ring_ptr) + params.sq_off.array);
    151150                sq.alloc = *sq.tail;
     151                sq.ready = *sq.tail;
    152152
    153153                // completion queue
     
    190190        void __kernel_io_shutdown( cluster & this ) {
    191191                // Stop the IO Poller
     192                #if __CFA_IO_POLLING__ == __CFA_IO_POLLING_NAIVE__
    192193                // Notify the poller thread of the shutdown
    193194                __atomic_store_n(&this.io.done, true, __ATOMIC_SEQ_CST);
     
    245246        // Process a single completion message from the io_uring
    246247        // This is NOT thread-safe
    247         int __drain_io( struct io_ring & ring, sigset_t & mask, int waitcnt ) {
     248        static int __drain_io( struct io_ring & ring, sigset_t & mask, int waitcnt ) {
    248249                int ret = syscall( __NR_io_uring_enter, ring.fd, 0, waitcnt, IORING_ENTER_GETEVENTS, &mask, _NSIG / 8);
    249250                if( ret < 0 ) {
Note: See TracChangeset for help on using the changeset viewer.