Ignore:
Timestamp:
Mar 18, 2022, 12:42:39 PM (3 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, ast-experimental, enum, master, pthread-emulation, qualifiedEnum
Children:
0b4ddb71, 51239d1b
Parents:
3bc69f2
Message:

Tentative fix for spurious deadlock in some concurrency tests

File:
1 edited

Legend:

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

    r3bc69f2 r22226e4  
    115115                this.ext_sq.empty = true;
    116116                (this.ext_sq.queue){};
    117                 __io_uring_setup( this, cl.io.params, proc->idle_fd );
     117                __io_uring_setup( this, cl.io.params, proc->idle_wctx.evfd );
    118118                __cfadbg_print_safe(io_core, "Kernel I/O : Created ring for io_context %u (%p)\n", this.fd, &this);
    119119        }
     
    125125                __cfadbg_print_safe(io_core, "Kernel I/O : Destroyed ring for io_context %u\n", this.fd);
    126126        }
    127 
    128         extern void __disable_interrupts_hard();
    129         extern void __enable_interrupts_hard();
    130127
    131128        static void __io_uring_setup( $io_context & this, const io_context_params & params_in, int procfd ) {
     
    230227                        __cfadbg_print_safe(io_core, "Kernel I/O : registering %d for completion with ring %d\n", procfd, fd);
    231228
    232                         __disable_interrupts_hard();
    233 
    234229                        int ret = syscall( __NR_io_uring_register, fd, IORING_REGISTER_EVENTFD, &procfd, 1);
    235230                        if (ret < 0) {
    236231                                abort("KERNEL ERROR: IO_URING EVENTFD REGISTER - %s\n", strerror(errno));
    237232                        }
    238 
    239                         __enable_interrupts_hard();
    240233
    241234                        __cfadbg_print_safe(io_core, "Kernel I/O : registered %d for completion with ring %d\n", procfd, fd);
Note: See TracChangeset for help on using the changeset viewer.