Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.1:Test
libPropList
libPropList-0.10.1.dif
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File libPropList-0.10.1.dif of Package libPropList
--- comparing.c +++ comparing.c @@ -4,6 +4,7 @@ */ +#include <string.h> #include "proplistP.h" /* forward prototype */ --- filehandling.c +++ filehandling.c @@ -11,7 +11,11 @@ #include <sys/stat.h> #include <sys/file.h> #include <sys/types.h> +#ifdef USE_FLOCK +#include <sys/file.h> +#else #include <fcntl.h> +#endif #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -75,8 +79,13 @@ free(actual_filename); return NULL; } -#if 0 - if((flock(fd, LOCK_EX))<0) +#ifdef USE_FLOCK + if((flock(fd, LOCK_EX)<0) && (errno != ENOLCK)) + { + close(fd); + free(actual_filename); + return NULL; + } #endif #ifdef headache flk.l_type = F_RDLCK; @@ -106,7 +115,7 @@ { close(fd); MyFree(__FILE__, __LINE__, str); -#if 0 +#ifdef USE_FLOCK flock(fd, LOCK_UN); #endif #ifdef headache @@ -117,6 +126,17 @@ } str[fstat_buf.st_size] = '\0'; + +#ifdef USE_FLOCK + if((flock(fd, LOCK_UN)<0) && (errno != ENOLCK)) + { + close(fd); + MyFree(__FILE__, __LINE__, str); + fprintf(stderr, "PLGetPropListWithPath(): Couldn't unlock file!\n"); + return NULL; + } +#endif + #ifdef headache flk.l_type = F_UNLCK; #if 0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor