|
@@ -105,13 +105,9 @@ static enum urqresult ensureoptions(void) {
|
|
|
static enum urqresult lockmethod(void) {
|
|
static enum urqresult lockmethod(void) {
|
|
|
struct flock fl;
|
|
struct flock fl;
|
|
|
|
|
|
|
|
- if (!methodlockfile) {
|
|
|
|
|
- int l;
|
|
|
|
|
- l= strlen(admindir);
|
|
|
|
|
- methodlockfile= new char[l+sizeof(METHLOCKFILE)+2];
|
|
|
|
|
- strcpy(methodlockfile,admindir);
|
|
|
|
|
- strcpy(methodlockfile+l, "/" METHLOCKFILE);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (methodlockfile == NULL)
|
|
|
|
|
+ m_asprintf(&methodlockfile, "%s/%s", admindir, METHLOCKFILE);
|
|
|
|
|
+
|
|
|
if (methlockfd == -1) {
|
|
if (methlockfd == -1) {
|
|
|
methlockfd= open(methodlockfile, O_RDWR|O_CREAT|O_TRUNC, 0660);
|
|
methlockfd= open(methodlockfile, O_RDWR|O_CREAT|O_TRUNC, 0660);
|
|
|
if (methlockfd == -1) {
|
|
if (methlockfd == -1) {
|