Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-1248056

EINTR error code is not caught for all the unlink and rename in solaris

XMLWordPrintable

    • sparc
    • generic

      I did a recursive grep for unlink and found most of these do not
      check the error code and retyr the system call:


      1 classloader.c LoadFile 174 unlink(fn);
      2 javah.c renameIfDiff 378 unlink(tempfn);
      3 javah.c renameIfDiff 406 unlink(tempfn);
      4 javah.c DumpClassStub 875 unlink(tempfn);
      5 minigzip.c file_compress 149 unlink(file);
      6 minigzip.c file_uncompress 189 unlink(infile);
      7 sysmacros_md.h sysUnlink 76 #define sysUnlink(_path) unlink(_path)


      -Pavani.

      -------------------------------------------------

      From ###@###.### Tue Apr 30 14:08:56 1996
      From: ###@###.###
      Date: Tue, 30 Apr 1996 14:05:53 -0700
      To: pavani@Eng
      Subject: arthur says

      ...

      Anyway, I have just had the unhappy realization that unlink(2) can
      fail with EINTR, yet there is no code in the runtime to retry it when
      that happens. The man page for rename(2) doesn't say anything but
      EINTR, but I have a hard time believing that it can't also be
      interrupted in the same manner.

      Thanks!

      JP

            sliangsunw Sheng Liang (Inactive)
            duke J. Duke
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: