Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Race condition in gap_reset_workspace() #14242

Closed
jdemeyer opened this issue Mar 7, 2013 · 6 comments
Closed

Race condition in gap_reset_workspace() #14242

jdemeyer opened this issue Mar 7, 2013 · 6 comments

Comments

@jdemeyer
Copy link

jdemeyer commented Mar 7, 2013

Consider this script gap_race.sage:

from multiprocessing import Process
import time

def rungap():
    gap("42")

P = [Process(target=rungap) for i in range(4)]
for p in P:
    p.start()
    time.sleep(0.1)

When executing with ./sage --nodotsage gaprace.sage, this should run without producing errors. But it doesn't, due to race conditions in gap_reset_workspace().

CC: @vbraun

Component: interfaces

Author: Jeroen Demeyer

Reviewer: Volker Braun

Merged: sage-5.9.beta0

Issue created by migration from https://trac.sagemath.org/ticket/14242

@jdemeyer
Copy link
Author

jdemeyer commented Mar 8, 2013

Author: Jeroen Demeyer

@vbraun
Copy link
Member

vbraun commented Mar 9, 2013

comment:2

Looks good. But on Windows, os.rename() will raise an OSError if destination exists. Not sure if that applies to Cygwin, but better safe than sorry?

@jdemeyer
Copy link
Author

comment:3

Attachment: 14242_gap_workspace_race.patch.gz

Updated.

@vbraun
Copy link
Member

vbraun commented Mar 11, 2013

comment:4

Looks good to me

@vbraun
Copy link
Member

vbraun commented Mar 11, 2013

Reviewer: Volker Braun

@jdemeyer
Copy link
Author

Merged: sage-5.9.beta0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants