'errno' bug in cygwin+samba

W.J. van der Laan gnufnork@hetdigitalegat.nl
Sun Feb 8 01:46:00 GMT 2004


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/


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /