fix autosave crash on Snow Leopard

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@32055 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jean-Marc Lasgouttes 2009-11-16 23:17:03 +00:00
parent a70ece44ed
commit 4b350d031a
3 changed files with 14 additions and 2 deletions

View File

@ -2392,6 +2392,15 @@ private:
int AutoSaveBuffer::generateChild() int AutoSaveBuffer::generateChild()
{ {
#if defined(__APPLE__)
/* FIXME fork() is not usable for autosave on Mac OS X 10.6 (snow leopard)
* We should use something else like threads.
*
* Since I do not know how to determine at run time what is the OS X
* version, I just disable forking altogether for now (JMarc)
*/
pid_t const pid = -1;
#else
// tmp_ret will be located (usually) in /tmp // tmp_ret will be located (usually) in /tmp
// will that be a problem? // will that be a problem?
// Note that this calls ForkedCalls::fork(), so it's // Note that this calls ForkedCalls::fork(), so it's
@ -2401,6 +2410,7 @@ int AutoSaveBuffer::generateChild()
// you should set pid to -1, and comment out the fork. // you should set pid to -1, and comment out the fork.
if (pid != 0 && pid != -1) if (pid != 0 && pid != -1)
return pid; return pid;
#endif
// pid = -1 signifies that lyx was unable // pid = -1 signifies that lyx was unable
// to fork. But we will do the save // to fork. But we will do the save

View File

@ -150,7 +150,7 @@ int ForkedProcess::run(Starttype type)
bool ForkedProcess::running() const bool ForkedProcess::running() const
{ {
if (!pid()) if (pid() <= 0)
return false; return false;
#if !defined (_WIN32) #if !defined (_WIN32)
@ -170,7 +170,7 @@ bool ForkedProcess::running() const
void ForkedProcess::kill(int tol) void ForkedProcess::kill(int tol)
{ {
lyxerr << "ForkedProcess::kill(" << tol << ')' << endl; lyxerr << "ForkedProcess::kill(" << tol << ')' << endl;
if (pid() == 0) { if (pid() <= 0) {
lyxerr << "Can't kill non-existent process!" << endl; lyxerr << "Can't kill non-existent process!" << endl;
return; return;
} }

View File

@ -215,6 +215,8 @@ What's new
- Fix width definition in the box dialog after a box inset was transformed - Fix width definition in the box dialog after a box inset was transformed
from "Inner Box" type "None" to "Parbox" or "Minipage" (bug 6298). from "Inner Box" type "None" to "Parbox" or "Minipage" (bug 6298).
- Fix crash with autosave on Mac OS X 10.6 (bug 6168).
- Fixed problem involving inability to turn off auto-save (bug 6227). - Fixed problem involving inability to turn off auto-save (bug 6227).
- Sort document classes case insensitively (bug 1492). - Sort document classes case insensitively (bug 1492).