pike issueshttps://git.lysator.liu.se/pikelang/pike/-/issues2020-03-01T14:50:31Zhttps://git.lysator.liu.se/pikelang/pike/-/issues/3947SDL.set_video_mode() breaks Pike on Mac OS X.3.9 and SDL 1.2.82020-03-01T14:50:31ZPeter BortasSDL.set_video_mode() breaks Pike on Mac OS X.3.9 and SDL 1.2.8Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3947
Reported by Hermann Kruud, <hermannkruud@yahoo.co.uk>
```
This call:
SDL.set_video_mode(320, 240, 16, SDL.SWSURFACE);
```
breaks on Pike v7.7 release 21 (also v...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3947
Reported by Hermann Kruud, <hermannkruud@yahoo.co.uk>
```
This call:
SDL.set_video_mode(320, 240, 16, SDL.SWSURFACE);
```
breaks on Pike v7.7 release 21 (also v7.6 release 24 and v7.4 release 25)
and gives:
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
...
2005-07-03 22:27:39.224 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48e640 of class NSCFArray autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.225 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x438720 of class NSCFArray autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.226 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48edb0 of class NSCFString autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.227 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x4376b0 of class NSCFArray autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.227 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x4201c0 of class NSCFArray autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.228 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48ee10 of class NSCFString autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.229 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48ee30 of class NSCFString autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.229 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48ee50 of class NSCFString autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.230 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48ee70 of class NSCFArray autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.231 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x4560e0 of class NSCFArray autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.231 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48ee90 of class NSPathStore2 autoreleased with no pool in place - just
leaking
2005-07-03 22:27:39.232 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48eef0 of class NSPathStore2 autoreleased with no pool in place - just
leaking
2005-07-03 22:27:39.232 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48ef20 of class NSPathStore2 autoreleased with no pool in place - just
leaking
2005-07-03 22:27:39.233 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48eff0 of class NSPathStore2 autoreleased with no pool in place - just
leaking
2005-07-03 22:27:39.234 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48f030 of class NSCFDictionary autoreleased with no pool in place - just
leaking
2005-07-03 22:27:39.235 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48f0f0 of class NSIdEnumerator autoreleased with no pool in place - just
leaking
2005-07-03 22:27:39.236 pike[9057] *** _NSAutoreleaseNoPool(): Object
0xa2e7e924 of class NSCFString autoreleased with no pool in place - just
leaking
2005-07-03 22:27:39.237 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48f150 of class NSCFArray autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.238 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x4642b0 of class NSCFString autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.239 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x464900 of class NSCFString autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.240 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x464d70 of class NSCFString autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.241 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x464910 of class NSCFString autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.242 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x4648d0 of class NSCFString autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.242 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x464d30 of class NSCFString autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.243 pike[9057] *** _NSAutoreleaseNoPool(): Object
0xa2e7e8b4 of class NSCFString autoreleased with no pool in place - just
leaking
2005-07-03 22:27:39.244 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x461bb0 of class NSCFNumber autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.247 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48fdf0 of class NSCFData autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.253 pike[9057] *** _NSAutoreleaseNoPool(): Object
0xa2e7b0d0 of class NSCFString autoreleased with no pool in place - just
leaking
2005-07-03 22:27:39.256 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x490840 of class _NSCachedBitmapImageRep autoreleased with no pool in
place - just leaking
2005-07-03 22:27:39.259 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48fcf0 of class NSImage autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.260 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x491130 of class _NSCachedBitmapImageRep autoreleased with no pool in
place - just leaking
2005-07-03 22:27:39.261 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x491010 of class NSImage autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.262 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48eb40 of class _NSThemeCloseWidget autoreleased with no pool in place -
just leaking
2005-07-03 22:27:39.264 pike[9057] *** _NSAutoreleaseNoPool(): Object
0xa2e7b0d0 of class NSCFString autoreleased with no pool in place - just
leaking
2005-07-03 22:27:39.265 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x491750 of class _NSCachedBitmapImageRep autoreleased with no pool in
place - just leaking
2005-07-03 22:27:39.266 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x4915a0 of class NSImage autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.268 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x4915f0 of class _NSCachedBitmapImageRep autoreleased with no pool in
place - just leaking
2005-07-03 22:27:39.268 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x4917e0 of class NSImage autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.269 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x491320 of class _NSThemeWidget autoreleased with no pool in place - just
leaking
2005-07-03 22:27:39.270 pike[9057] *** _NSAutoreleaseNoPool(): Object
0xa2e7b0d0 of class NSCFString autoreleased with no pool in place - just
leaking
2005-07-03 22:27:39.271 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x490730 of class _NSCachedBitmapImageRep autoreleased with no pool in
place - just leaking
2005-07-03 22:27:39.272 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48ebc0 of class NSImage autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.273 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x47ed60 of class _NSCachedBitmapImageRep autoreleased with no pool in
place - just leaking
2005-07-03 22:27:39.274 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x47c0b0 of class NSImage autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.275 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x491ac0 of class _NSThemeWidget autoreleased with no pool in place - just
leaking
2005-07-03 22:27:39.277 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x491440 of class NSCFString autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.278 pike[9057] *** _NSAutoreleaseNoPool(): Object
0x48c900 of class NSException autoreleased with no pool in place - just leaking
2005-07-03 22:27:39.279 pike[9057] *** Uncaught exception:
<NSInternalInconsistencyException> Error (1002) creating CGSWindow
```
Backtracing on GDB gives:
#0 0x90a8d318 in _NSRaiseError ()
#1 0x90a8d1fc in +[NSException raise:format:] ()
#2 0x92f54518 in _NSCreateWindowWithOpaqueShape ()
#3 0x92f032bc in -[NSWindow _commonAwake] ()
#4 0x92ed0b30 in -[NSWindow _commonInitFrame:styleMask:backing:defer:] ()
#5 0x92ec04d8 in -[NSWindow
_initContent:styleMask:backing:defer:contentView:] ()
#6 0x92f408b8 in -[NSWindow
initWithContentRect:styleMask:backing:defer:] ()
#7 0x014c4e1c in -[SDL_QuartzWindow
initWithContentRect:styleMask:backing:defer:] (self=0x0, _cmd=0x0,
contentRect={origin = {x = 0, y = 0}, size = {width = 320, height = 240}},
styleMask=8388608, backingType=2733245164, flag=0 '\0') at
SDL_QuartzWindow.m:196
#8 0x014c35cc in QZ_SetVideoWindowed (this=0x47b5f0, current=0x0,
width=536870912, height=-1073750704, bpp=8388608, flags=0) at
SDL_QuartzVideo.m:737
#9 0x014c3a58 in QZ_SetVideoMode (this=0x858600, current=0x14f535c,
width=536870912, height=-1073750704, bpp=32, flags=1) at SDL_QuartzVideo.m:845
#10 0x014cca34 in SDL_SetVideoMode (width=0, height=240, bpp=16,
flags=0) at SDL_video.c:661
#11 0x01258190 in f_set_video_mode ()
#12 0x0002e2c8 in low_mega_apply ()
#13 0x000265b8 in jump_opcode_F_APPLY_AND_RETURN ()
#14 0x0121ae08 in ?? ()
#15 0x0002fe5c in o_catch ()
#16 0x0001e428 in jump_opcode_F_CATCH ()
#17 0x01211368 in ?? ()
#18 0x0002fcd0 in mega_apply ()
#19 0x000e2ec0 in call_pike_initializers ()
#20 0x000e340c in parent_clone_object ()
#21 0x0002e320 in low_mega_apply ()
#22 0x000278fc in jump_opcode_F_CALL_OTHER_AND_POP ()
#23 0x006803c0 in ?? ()
#24 0x0002fcd0 in mega_apply ()
#25 0x000034ec in main ()
#26 0x0000237c in _start (argc=3, argv=0xbffff710, envp=0xbffff720) at
/SourceCache/Csu/Csu-47/crt.c:267
#27 0x8fe1a278 in __dyld__dyld_start ()
```Pike 7.6Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/3948GLUT module dependencies fail on Mac OS X.3.92020-03-01T14:50:48ZPeter BortasGLUT module dependencies fail on Mac OS X.3.9Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3948
Reported by Hermann Kruud, <hermannkruud@yahoo.co.uk>
When building Pike v7.7 release 21 (also v7.6 release 24 and v7.4 release
25) on Mac OS X.3.9 the output regard...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3948
Reported by Hermann Kruud, <hermannkruud@yahoo.co.uk>
When building Pike v7.7 release 21 (also v7.6 release 24 and v7.4 release
25) on Mac OS X.3.9 the output regarding the GLUT module is:
configure: configuring in GLUT
configure: running /bin/bash -norc
'/Users/kruud/Sources/Pike/7.7/src/post_modules/GLUT/configure'
--prefix=/usr/local/pike '--prefix=/usr/local/pike' '--with-debug'
'CC=/usr/bin/gcc' 'CFLAGS=-I/sw/include -I/usr/X11R6/include
-I/usr/local/include' 'CPPFLAGS=-I/sw/include -I/usr/X11R6/include
-I/usr/local/include' 'LDFLAGS=-L/sw/lib -L/usr/X11R6/lib -L/usr/local/lib'
'--cache-file=.././config.cache'
'--srcdir=/Users/kruud/Sources/Pike/7.7/src/post_modules'
--cache-file=../.././config.cache
--srcdir=/Users/kruud/Sources/Pike/7.7/src/post_modules/GLUT
configure: loading cache ../.././config.cache
###################################################
## Configuring module: GLUT
## Installation dir:
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... (cached) o
checking whether we are using the GNU C compiler... (cached) yes
checking whether /Users/kruud/Sources/Pike/7.7/bin/smartlink
/usr/bin/gcc accepts -g... (cached) yes
checking for /Users/kruud/Sources/Pike/7.7/bin/smartlink /usr/bin/gcc
option to accept ANSI C... (cached) none needed
checking if we are using TCC (TenDRA C Compiler)... (cached) no
checking how to run the C preprocessor... /usr/bin/gcc -E
checking for X... (cached) libraries /usr/X11R6/lib, headers
/usr/X11R6/include
checking for egrep... (cached) grep -E
checking for ANSI C header files... (cached) yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for unistd.h... (cached) yes
checking for gnu/stubs.h... (cached) no
checking for gethostbyname... (cached) yes
checking for connect... (cached) yes
checking for remove... (cached) yes
checking for shmat... (cached) yes
checking for IceConnectionNumber in -lICE... (cached) yes
X_CFLAGS: -I/usr/X11R6/include
X_LIBS: -L/usr/X11R6/lib
X_EXTRA_LIBS:
X_PRE_LIBS: -lSM -lICE
checking GL/glut.h usability... yes
checking GL/glut.h presence... yes
checking for GL/glut.h... yes
checking GLUT/glut.h usability... yes
checking GLUT/glut.h presence... yes
checking for GLUT/glut.h... yes
checking for XDrawPoint in -lX11... yes
checking for XShmPutImage in -lXext... yes
checking for XmuStandardColormap in -lXmu... yes
checking for glOrtho in -lGL... yes
checking for glOrtho in -lOpenGL... no
checking for glOrtho in -lMesaGL... no
checking for gluCylinder in -lGLU... yes
checking for gluCylinder in -lMesaGLU... no
checking for XOpenDevice in -lXinput... no
checking for XOpenDevice in -lXi... yes
checking for glutSolidTeapot in -lglut... no
checking for glutSolidTeapot in GLUT.framework... no
checking for glutEnterGameMode... no
checking for glutForceJoystickFunc... no
checking for glutGameModeGet... no
checking for glutGameModeString... no
checking for glutIgnoreKeyRepeat... no
checking for glutInitDisplayString... no
checking for glutJoystickFunc... no
checking for glutKeyboardUpFunc... no
checking for glutLeaveGameMode... no
checking for glutPostWindowOverlayRedisplay... no
checking for glutPostWindowRedisplay... no
checking for glutReportErrors... no
checking for glutSetKeyRepeat... no
checking for glutSpecialUpFunc... no
checking whether make sets $(MAKE)... (cached) yes
checking for the Pike base directory... /Users/kruud/Sources/Pike/7.7/src
updating cache ../.././config.cache
configure: creating ./config.status
config.status: creating make_variables
config.status: creating Makefile
config.status: creating config.h
config.status: executing default commands
Eventually the GLUT module doesn't compile:
GLUT................ no (dependencies failed)Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/6092forkd: Failed to write spawn request2020-03-01T15:26:05ZPeter Bortasforkd: Failed to write spawn requestImported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6092
Reported by Jonas Wallden <jonasw@roxen.com>
Seen on macos_x86_64:
```
: Failed to write spawn request (-1 != 434).
12:52:27 : Error in VCDir(0:0:[FOO]::...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6092
Reported by Jonas Wallden <jonasw@roxen.com>
Seen on macos_x86_64:
```
: Failed to write spawn request (-1 != 434).
12:52:27 : Error in VCDir(0:0:[FOO]::/global/data/mf/items/3820)->update_state. Additional info:
8m 7.7s : _statcache = Stat(drwxr-xr-x 204b)
: _state = 0
: _md = 0
: status = 0
: infostat = Stat(-rw-r--r-- 89b)
12:52:27 : pike/lib/modules/Process.pmod:230: Process.Process()->create(({"/scratch/FOO/roxen/server-5.2.40/modules/sitebuilder/bin/cvs","-!","-f","-q","-d:local:/scratch/FOO/FOO.sb/cvsroot","-n","status","-v","__info"}),mapping[5])
8m 7.7s : pike/lib/modules/Process.pmod:112: Process->Process()
: modules/sitebuilder/pike-modules/VC.pmod/CVS.pmod/CVS.pike (rev 1.51):129: /scratch/FOO/roxen/server-5.2.40/modules/sitebuilder/pike-modules/VC.pmod/CVS.pmod/CVS()->command2(0,@0=({"/scratch/FOO/roxen/server-5.2.40/modules/sitebuilder/bin/cvs","-!","-f","-q","-d:local:/scratch/FOO/FOO.sb/cvsroot","-n","status","-v","__info"}),0)
```
(Customer name censored.)Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/7063The kqueue backend doesn't support out of band data.2020-03-01T15:39:35ZPeter BortasThe kqueue backend doesn't support out of band data.Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7063
Reported by @grubba
The socktest.pike test "Testing out-of-band data" times out when waiting for the sent out of band data to arrive.
With OOB_DEBUG enabled on a pi...Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7063
Reported by @grubba
The socktest.pike test "Testing out-of-band data" times out when waiting for the sent out of band data to arrive.
With OOB_DEBUG enabled on a pike compiled with BACKEND_DEBUG, the following is output:
```
Child: Testing out-of-band data
originator: Stdio.File("socket", "127.0.0.1:62128", 777 /* fd=9 */)
loopback: Stdio.File("socket", "127.0.0.1 62129", 777 /* fd=10 */)
[2085229328]BACKEND[0]: hook_fd_callback_box: fd 9, events 0xc, object 0x1008227d0
[2085229328]BACKEND[0]: pdb_update_fd_set(.., 9, 0, 12):
[2085229328]BACKEND[0]: fd:9 READ, ADD, [OOBAND]
[2085229328]BACKEND[0]: fd:9 WRITE, ADD
BACKEND: EV_ADD fd:9, filter:-2
BACKEND: EV_ENABLE fd:9, filter:-2
[2085229328]BACKEND[0]: hook_fd_callback_box: fd 10, events 0x4, object 0x1008227a0
[2085229328]BACKEND[0]: pdb_update_fd_set(.., 10, 0, 4):
[2085229328]BACKEND[0]: fd:10 READ, ADD, [OOBAND]
[2085229328]BACKEND[0]: Doing poll on fds:
=> 1 (timeout was: 3600)
[2085229328]BACKEND[0]: fd:9 filter:-2 flags:0x00000001 EVFILT_WRITE(146988)
[2085229328]BACKEND[0]: POLLWRBAND on 9
[2085229328]BACKEND[0]: POLLOUT on 9
[2085229328]BACKEND[0]: hooking in box for fd 9
[2085229328]BACKEND[0]: Examining box for fd 9 revents:0x000a
[2085229328]BACKEND[0]: write_oob_callback(9, 0x1008227d0)
[2085229328]BACKEND[0]: set_fd_callback_events: fd 9, events from 0xc to 0x4, object 0x1008227d0
[2085229328]BACKEND[0]: pdb_update_fd_set(.., 9, 12, 4):
[2085229328]BACKEND[0]: fd:9 WRITE, DISABLE
BACKEND: EV_DISABLE fd:9, filter:-2
S[2085229328]BACKEND[0]: set_fd_callback_events: fd 9, events from 0x4 to 0xc, object 0x1008227d0
[2085229328]BACKEND[0]: pdb_update_fd_set(.., 9, 4, 12):
[2085229328]BACKEND[0]: fd:9 WRITE, ADD
BACKEND: EV_ADD fd:9, filter:-2
BACKEND: EV_ENABLE fd:9, filter:-2
[2085229328]BACKEND[0]: set_fd_callback_events: fd 9, events from 0xc to 0x4, object 0x1008227d0
[2085229328]BACKEND[0]: pdb_update_fd_set(.., 9, 12, 4):
[2085229328]BACKEND[0]: fd:9 WRITE, DISABLE
BACKEND: EV_DISABLE fd:9, filter:-2
[2085229328]BACKEND[0]: set_fd_callback_events: fd 10, events from 0x4 to 0x4, object 0x1008227a0
[2085229328]BACKEND[0]: pdb_update_fd_set(.., 10, 4, 4):
[2085229328]BACKEND[0]: Examining box for fd -1 revents:0x0000
[2085229328]BACKEND[0]: Doing poll on fds:
[*timeout*]^C
What we can see above is that a single byte is sent on fd #9 ("S" above), but not notified on fd #10 even though it has PIKE_BIT_FD_READ_OOB (4) set.
```Pike 7.8Henrik (Grubba) GrubbströmHenrik (Grubba) Grubbströmhttps://git.lysator.liu.se/pikelang/pike/-/issues/10061Add Stdio.File()->accessat() and extend predef::access() to support EUID checks2021-03-12T11:50:37ZHenrik (Grubba) GrubbströmAdd Stdio.File()->accessat() and extend predef::access() to support EUID checks`predef::access()` performs access control with the *real* uid and gid.
Sometimes you want to perform the corresponding checks, but for the *effective* uid and gid.
The `predef::access()` euid checks may be implemented with `eaccess(2/...`predef::access()` performs access control with the *real* uid and gid.
Sometimes you want to perform the corresponding checks, but for the *effective* uid and gid.
The `predef::access()` euid checks may be implemented with `eaccess(2/3)`, `eiudaccess(3)` or `faccessat(2)`, or emulated via calling of `test(1)` with suitable arguments, and should be selected via a third argument containing the character `"e"`. A suitable detection flag should also be added.
`Stdio.File()->accessat()` should be implemented with `faccessat()`. An availability flag `Stdio.__HAVE_ACCESSAT__` with a value of `1` should also be added when `Stdio.File()->accessat()` is available. The symlinks mode of `faccessat(2)` should be selectable via the third argument containing the character `"l"`.Pike Nexthttps://git.lysator.liu.se/pikelang/pike/-/issues/10064Add API to clear the signal mask for an active signal handler2023-04-13T09:14:01ZHenrik (Grubba) GrubbströmAdd API to clear the signal mask for an active signal handlerConsider code like
```
int main()
{
// Timeout if it takes too long.
signal(signum("SIGALRM"), timeout);
alarm(20);
// ...
}
void timeout()
{
// Bail out if the timeout code below hangs too.
signal(signum("SIGALRM"), _exit)...Consider code like
```
int main()
{
// Timeout if it takes too long.
signal(signum("SIGALRM"), timeout);
alarm(20);
// ...
}
void timeout()
{
// Bail out if the timeout code below hangs too.
signal(signum("SIGALRM"), _exit); // PANIC!
alarm(20);
// ...
}
```
Currently the signal handler installed by `timeout()` above will never be called as the `SIGALRM` signal is masked during the call of `timeout()`.
Add an API to clear the signal mask, so that the second signal handler works as intended.Pike Nexthttps://git.lysator.liu.se/pikelang/pike/-/issues/10149Pike doesn't build against libmysql (on MacOS)2024-03-23T16:12:33ZChris AngelicoPike doesn't build against libmysql (on MacOS)Building Pike against libmysql v10 breaks due to the removal of several deprecated functions such as https://dev.mysql.com/doc/c-api/8.0/en/mysql-shutdown.html (page does not exist in the v10 docs). This is not a problem when building ag...Building Pike against libmysql v10 breaks due to the removal of several deprecated functions such as https://dev.mysql.com/doc/c-api/8.0/en/mysql-shutdown.html (page does not exist in the v10 docs). This is not a problem when building against libmariadb (as is standard on Debian and other Linuxes now).
Have not confirmed whether every deprecated function has a query equivalent (as mysql_shutdown does).
Testing against actual libmysql on Linux was unsuccessful for other reasons and is inconclusive, so this may be a Mac-specific issue?Pike 9.0