Mail Archives: cygwin/2004/02/07/20:46:29
Hello,
Today I stumbled on a really strange bug in Cygwin and Samba: errno 2 is
returned when attempting to create a file or directory that already
exists.
#include <stdlib.h>
#include <unistd.h>
void main() {
if(mkdir("test", 0777) < 0)
perror("mkdir1");
if(mkdir("test", 0777) < 0)
perror("mkdir2");
}
Gives a "mkdir2: No such file or directory." huh?
This happens on more occasions; execute this on a mounted samba filesystem
under windows, like /cygdrive/p/...
>>> import shelve
>>> shelve.open("test", flag='c')
>>> shelve.open("test", flag='c')
Traceback (most recent call last):
File "./test.py", line 3, in ?
shelve.open("test", flag='c');
File "/usr/lib/python2.3/shelve.py", line 231, in open
return DbfilenameShelf(filename, flag, protocol, writeback, binary)
File "/usr/lib/python2.3/shelve.py", line 212, in __init__
Shelf.__init__(self, anydbm.open(filename, flag), protocol, writeback,
binary)
File "/usr/lib/python2.3/anydbm.py", line 83, in open
return mod.open(file, flag, mode)
File "/usr/lib/python2.3/dbhash.py", line 16, in open
return bsddb.hashopen(file, flag, mode)
File "/tmp/python.2664/usr/lib/python2.3/bsddb/__init__.py", line 192,
in hashopen
bsddb._db.DBNoSuchFileError: (2, 'No such file or directory')
Exception exceptions.AttributeError: "DbfilenameShelf instance has no
attribute 'writeback'" in ignored
It gives an 'No such file or directory' the second time, while the shelve
is succesfully created. It seems to produce this error when a file already
exists.
This essentially makes shelve useless under cygwin.
Greetings,
Wladimir
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -