Summary: | net-misc/memcached-1.2.2 cannot use -P option with more than 1 running thread | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | marlon |
Component: | Current packages | Assignee: | Robin Johnson <robbat2> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | jeffrey.mitchell, Mess1214, ramon, ssuominen, steffen.weber |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
*** Bug 198756 has been marked as a duplicate of this bug. *** Would someone be kind enough to contact upstream with this information? > Would someone be kind enough to contact upstream with this information? > Already known... http://lists.danga.com/pipermail/memcached/2007-October/005419.html Please attach a *useful* unified diff next time. Please, test this ebuild and report back: http://overlays.gentoo.org/svn/proj/php/testing/migration/net-misc/memcached/ I'm taking memcached per lisa's retirement email (and the fact that I have connections to the upstream). This in the main tree now. I was already using it in my own production stuff, but I hadn't put it back. |
When I emerged memcached-1.2.2 I noticed it didn't run after I used the -P option to write the pidfile to disk. After looking at the source I noticed the daemon wants to write the pid file to disk after it started its threads. No problem when you run memcached with -t1 or without the -P option, but not a good idea when you have multiple threads writing to the same file pointer. Reproducible: Always Steps to Reproduce: 1. emerge memcached1.2.2 (and all other version that compile against posix threads) 2. run memcached with -P pidfile and -t2 or -t3 etc Actual Results: segfault Expected Results: a running daemon I've written a patch to solve the issue 2672a2673 > save_pid(getpid(), pid_file); 2721,2723c2722 < /* save the PID in if we're a daemon */ < if (daemonize) < save_pid(getpid(), pid_file); --- >