Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 22 by gera0ul: Acquiring lock fails on filesystems not supporting  
hardlinks.
http://code.google.com/p/django-mailer/issues/detail?id=22

What steps will reproduce the problem?
1. Set up pinax on a filesystem which does not support hardlinks
2. Queue up some emails
3. run 'python manage.py send_mail'

What is the expected output? What do you see instead?

Expected:
queued mails are sent

Seen:
error saying that the lock is already acquired.

What version of the product are you using? On what operating system?

version pinax-0.5.1 on Linux. I use a filesystem which does not support
hardlinks (encfs via fuse on top of ext3).

Please provide any additional information below.

The culprit is in mailer/lockfile.py, starting from line 494:

494 if hasattr(os, "link"):
495     FileLock = LinkFileLock
496 else:
497     FileLock = MkdirFileLock

The check succeeds, since the _os_ supports hardlinks, but the filesystem
doesn't. What ends up happening is that link creation always fails, leading
to the already acquired error.

It should check by actually creating a link (temporary link to a temporary
file in the current directory) and figuring out capabilities based on the
success of that operation.


--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pinax-updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/pinax-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to