Opened 4 years ago

Closed 3 years ago

#12760 closed bug (fixed)

/var/shared_memory not created at startup

Reported by: saprykin Owned by: axeld
Priority: high Milestone: R1/beta1
Component: Servers/launch_daemon Version: R1/Development
Keywords: shared memory launch_daemon Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

According to source code /var/shared_memory directory is being used for shared memory handles. In the latest nightly build hrev50290 that directory not created and shm_open() fails. In the stable release R1.A4 there is no such a problem. After creating /var/shared_memory manually shm_open() works fine.

Change History (5)

comment:1 by korli, 4 years ago

Keywords: launch_daemon added

The former Bootscript had the following, before anything else was started:

# clean the shared memory dir
shmDir=/var/shared_memory
rm -rf $shmDir
mkdir -p $shmDir
chmod 777 $shmDir

Maybe this could be done directly by the launch_daemon, also before anything else.

comment:2 by axeld, 3 years ago

The launch_daemon is already supposed to do that directly, see http://cgit.haiku-os.org/haiku/tree/src/servers/launch/InitSharedMemoryDirectoryJob.cpp - it's also added to the system init jobs (http://cgit.haiku-os.org/haiku/tree/src/servers/launch/LaunchDaemon.cpp#n1850) - so if that doesn't work anymore, there is something very wrong.

comment:3 by korli, 3 years ago

Given that /var is a symlink, maybe create_directory () doesn't handle this correctly?

comment:4 by axeld, 3 years ago

Component: System/libroot.soServers/launch_daemon
Milestone: UnscheduledR1/beta1
Priority: normalhigh

comment:5 by pulkomandy, 3 years ago

Resolution: fixed
Status: newclosed

Fixed in hrev51089.

Note: See TracTickets for help on using tickets.