From 9c3fc6f67f41ab2c56ea39b81f162ca738b29419 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Wed, 21 Jan 2004 13:20:06 +0000 Subject: [PATCH] (_krb5_xlock): catch EINVAL and assume that it means that the filesystem doesn't support locking git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@13279 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/fcache.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/krb5/fcache.c b/lib/krb5/fcache.c index 5408eff64..d558d91a9 100644 --- a/lib/krb5/fcache.c +++ b/lib/krb5/fcache.c @@ -85,12 +85,20 @@ _krb5_xlock(krb5_context context, int fd, krb5_boolean exclusive, ret = errno; if(ret == EACCES) /* fcntl can return EACCES instead of EAGAIN */ ret = EAGAIN; - if(ret == EAGAIN) + + switch (ret) { + case EINVAL: /* filesystem doesn't support locking, let the user have it */ + ret = 0; + break; + case EAGAIN: krb5_set_error_string(context, "timed out locking cache file %s", filename); - else if(ret != 0) + break; + default: krb5_set_error_string(context, "error locking cache file %s: %s", filename, strerror(ret)); + break; + } return ret; }