Added tag 0.3b3 for changeset 3ba75cf135b7
Change source code location Bitbucket is going down for mercurial.
Ignore EIO, ENOENT and ENOTDIR when checking cwd If the current working directory is gone Solaris can also give an ENOTDIR error. In this case we need to hande this gracefully too, just like ENOENT or EIO. Fixes issue #24.
Handle zone names more safely on Solaris
Ignore psueo filesystems fdesc and devfs Patch from issue #32.
Whitespace cleanup Follow the python coding standard (ish).
Correct build failure on Darwin This was a typo, patch from issue #31.
Fix bad address error on AIX if proc disappears This fixes issue 30 using the patch supplied there.
Fix remote mounts The test for recognising a remote mount was wrong and resulted in the host attribute never being set. This in turn meant that a remote mount was always represented by a LocalMount instance. Which in turn broke the .refresh() logic since that only asks for remote mounts if the instance is a RemoteMount, so it could not find the disk. Finally we should raise MissingResourceError if .frefresh() can no longer find the mountpoint. The detection of a remote mount could also be confused by having : in the local path. So we ensure that : occurs before the first /.
Improve behaviour in the face of disappearing processes * On Linux it seems possible that the stat file is empty if the process disappeared between the open() call and the read() call. In that case we did not handle some errors which would occur while parsing the stat file. * Improve the process-is-gone detection, especially in the init stage of a Process instance. Otherwise we will get random errors for a process which might simply no longer be around. This is the introduction of psi_arch_check_pid() and it's use in process.c. * Make procfs_check_pid take a const argument, it was a mistake it wasn't yet.
Tweak the range of processes to check AIX has a process 0 which we'd rather skip, also increase the pids searched.
Remove pointless check It is actually possible to have a minor number higher then 99, no idea where that number came from.
Small fix to selecting the PyCapsule API Thanks to Cimarron Taylor for providing the patch.
No need for conditional, it will never be NULL
Unused variable
Correctly check for the error condition
Use the PyCapsule API on 2.7 and 3.1+ The PyCObject API was removed after an *very* short (pending) deprecation cycle, which means we've been broken on Python 3.2 until now.
Accept EIO for PSI_STATUS_NA too It seems Solaris can get messed up and give an EIO instead of ENOENT. I think EIO shouldn't be caught really but practicality might have to beat purity.
Allow the testapps to be run in a specific directory And make use of that functionality in the cwd tests. Solaris doesn't like it when we're trying to remove the directory of python itself. But it's fine when we do that for a testapp.
Re-organise top-level call to be more consistent By always checking if the process still exists on an error at the top level we make things more consistent and no longer need to do this check in various places.