Problem with C-ISAM 4.00
Posted in 1991
Path: emory!sol.ctr.columbia.edu!spool.mu.edu!munnari.oz.au!bruce!goanna!minyos.xx.rmit.oz.au!s900387 From: s900387@minyos.xx.rmit.oz.au (Craig Macbride) Newsgroups: comp.databases.informix Message-ID: <1991Sep24.121542.4841@minyos.xx.rmit.oz.au> Date: 24 Sep 91 12:15:42 GMT Organization: Royal Melbourne Institute of Technology, Melbourne, Australia I have just started having a strange problem with a program using C-ISAM 4.00.UE1 on SCO Xenix. The program (amongst lots of other things it's doing) has done a "fd = isopen("file", ISINOUT+ISAUTOLOCK)" and written a record to this file. When it fills the key fields with the key of the record just written, and calls "isread(fd, data, ISEQUAL + ISSKIPLOCK)", it gets the _wrong_ record back with no error returned! (ie. I printf the key ... 15 characters ... before and after the read and they are different!) I have tried using isflush(fd), doing the same read twice in succession, and changing to another index and then changing back again. None of these have any effect. However, if I open the file again instead of using the existing descriptor, and use this new fd to do exactly the same read, I get the right record back! Also, if I go to another terminal and run the same program, such that it only reads the file for the record, it again reads correctly! Does anyone have any idea what the hell might be going on here? -- _____________________________________________________________________________ | Craig Macbride s900387@minyos.xx.rmit.oz.au | Reality is for people who | | Above are my opinions, nobody else's. | can't handle science fiction.|