filedata_h *filedata = malloc(sizeof(filedata_h));
// DEBUG CHECK: errno = 0;
errno = 0;
filedata->fd = open(full, fi->flags);
if (filedata->fd == -1) {
free(filedata);
return -errno;
}
// TEMPORARY CHECK, this causes fstat to fail.... WHY?!?
// Filedata isn't added to the database yet, so what the hell else can access this?!?
syslog(LOG_DEBUG,"errno set after open : %d, fd : %d, %s\n",errno,filedata->fd,strerror(errno));
usleep(20000);
res = fstat(filedata->fd,&statbuf);
if (res == -1) {
syslog(LOG_ERR,"fstat on file failed after open was ok!, fd %d, strerror : %s\n",filedata->fd,strerror(errno));
exit(EXIT_FAILURE);
}