@@ -6063,18 +6063,26 @@ LibraryManager.library = {
60636063 } ,
60646064 sigemptyset : function ( set ) {
60656065 // int sigemptyset(sigset_t *set);
6066- // TODO: Implement for real; don't hardcode offsets.
6067- { { { makeSetValue ( 'set' , '0' , '0' , 'i32' ) } } }
6068- { { { makeSetValue ( 'set' , '4' , '0' , 'i32' ) } } }
6069- { { { makeSetValue ( 'set' , '8' , '0' , 'i32' ) } } }
6070- { { { makeSetValue ( 'set' , '12' , '0' , 'i32' ) } } }
6066+ { { { makeSetValue ( 'set' , '0' , '0' , 'i32' ) } } } ;
60716067 return 0 ;
60726068 } ,
6073- sigfillset : 'sigemptyset' ,
6074- sigdelset : 'sigemptyset' ,
6069+ sigfillset : function ( set ) {
6070+ { { { makeSetValue ( 'set' , '0' , '-1>>>0' , 'i32' ) } } } ;
6071+ return 0 ;
6072+ } ,
6073+ sigaddset : function ( set , signum ) {
6074+ { { { makeSetValue ( 'set' , '0' , makeGetValue ( 'set' , '0' , 'i32' ) + '| (1 << (signum-1))' , 'i32' ) } } } ;
6075+ return 0 ;
6076+ } ,
6077+ sigdelset : function ( set , signum ) {
6078+ { { { makeSetValue ( 'set' , '0' , makeGetValue ( 'set' , '0' , 'i32' ) + '& (~(1 << (signum-1)))' , 'i32' ) } } } ;
6079+ return 0 ;
6080+ } ,
6081+ sigismember : function ( set , signum ) {
6082+ return { { { makeGetValue ( 'set' , '0' , 'i32' ) } } } & ( 1 << ( signum - 1 ) ) ;
6083+ } ,
60756084 sigaction : function ( set ) {
6076- // int sigemptyset(sigset_t *set);
6077- // TODO: Implement for real.
6085+ // TODO:
60786086 return 0 ;
60796087 } ,
60806088 sigprocmask : 'sigaction' ,
0 commit comments