Mailing List Archive

r3365 - trunk/varnish-cache/bin/varnishd
Author: phk
Date: 2008-11-09 15:26:24 +0100 (Sun, 09 Nov 2008)
New Revision: 3365

Modified:
trunk/varnish-cache/bin/varnishd/cache.h
trunk/varnish-cache/bin/varnishd/cache_acceptor_poll.c
trunk/varnish-cache/bin/varnishd/flint.lnt
Log:
A couple of stylistisc FlexeLint v9 nits, and some additions to the .lnt
file.

Unfortunately the thread support in FlexeLint is not quite up to our
standards of creative locking.



Modified: trunk/varnish-cache/bin/varnishd/cache.h
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache.h 2008-11-09 14:25:22 UTC (rev 3364)
+++ trunk/varnish-cache/bin/varnishd/cache.h 2008-11-09 14:26:24 UTC (rev 3365)
@@ -615,9 +615,25 @@
#define MTX pthread_mutex_t
#define MTX_INIT(foo) AZ(pthread_mutex_init(foo, NULL))
#define MTX_DESTROY(foo) AZ(pthread_mutex_destroy(foo))
+
+#ifdef __flexelint_v9__
#define TRYLOCK(foo, r) \
do { \
(r) = pthread_mutex_trylock(foo); \
+} while (0)
+#define LOCK(foo) \
+do { \
+ AZ(pthread_mutex_lock(foo)); \
+} while (0)
+#define UNLOCK(foo) \
+do { \
+ AZ(pthread_mutex_unlock(foo)); \
+} while (0)
+
+#else
+#define TRYLOCK(foo, r) \
+do { \
+ (r) = pthread_mutex_trylock(foo); \
assert(r == 0 || r == EBUSY); \
if (params->diag_bitmap & 0x8) { \
VSL(SLT_Debug, 0, \
@@ -652,6 +668,7 @@
"MTX_UNLOCK(%s,%s,%d," #foo ")", \
__func__, __FILE__, __LINE__); \
} while (0)
+#endif

#if defined(HAVE_PTHREAD_MUTEX_ISOWNED_NP)
#define ALOCKED(mutex) AN(pthread_mutex_isowned_np((mutex)))
@@ -693,8 +710,7 @@
{

Tcheck(t);
- return
- ((unsigned)(t.e - t.b));
+ return ((unsigned)(t.e - t.b));
}

static inline void

Modified: trunk/varnish-cache/bin/varnishd/cache_acceptor_poll.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_acceptor_poll.c 2008-11-09 14:25:22 UTC (rev 3364)
+++ trunk/varnish-cache/bin/varnishd/cache_acceptor_poll.c 2008-11-09 14:26:24 UTC (rev 3365)
@@ -55,7 +55,7 @@
vca_pollspace(unsigned fd)
{
struct pollfd *newpollfd = pollfd;
- unsigned newnpoll = npoll;
+ unsigned newnpoll;

if (fd < npoll)
return;

Modified: trunk/varnish-cache/bin/varnishd/flint.lnt
===================================================================
--- trunk/varnish-cache/bin/varnishd/flint.lnt 2008-11-09 14:25:22 UTC (rev 3364)
+++ trunk/varnish-cache/bin/varnishd/flint.lnt 2008-11-09 14:26:24 UTC (rev 3365)
@@ -1,5 +1,47 @@
--passes=3

+-d__flexelint_v9__=1
+
+//-sem (pthread_mutex_lock, thread_lock)
+-sem (pthread_mutex_trylock, thread_lock)
+-sem (VBE_DropRefLocked, thread_unlock)
+-e459 // unlocked access from func-ptr
+-e454 // mutex not released (...ReleaseLocked)
+-e457 // unprotected access
+
+-esym(458, lbv_assert) // unlocked access
+-esym(458, params) // unlocked access
+
+-emacro(835, HTTPH) // Info 835: A zero has been given as left argument to operator '&'
+-emacro(845, HTTPH) // Info 845: The left argument to operator '&&' is certain to be 0
+//////////////
+-efunc(1791, pdiff) // return last on line
+//////////////
+-efile(451, "sys/*.h") // No include guard
+-efile(451, "machine/*.h") // No include guard
+-efile(451, "vcl_returns.h") // No include guard
+-efile(451, "cache_backend_poll.h") // No include guard
+-efile(451, "steps.h") // No include guard
+-efile(451, "http_headers.h") // No include guard
+-efile(451, "stat_field.h") // No include guard
+-efile(451, "acct_fields.h") // No include guard
+-efile(451, "config.h") // No include guard
+//////////////
+// -e458 // unprotected access
+// -e456 // merged locking paths
+-sem(vca_thread_acct, thread_mono)
+-sem(vca_epoll_thread, thread_mono)
+-sem(vca_kqueue_thread, thread_mono)
+-sem(vca_poll_thread, thread_mono)
+-sem(vca_ports_thread, thread_mono)
+-sem(exp_timer, thread_mono)
+-sem(wrk_herdtimer_thread, thread_mono)
+-sem(wrk_herder_thread, thread_mono)
+-esym(458, VSL_stats)
+-esym(458, heritage)
+-esym(458, name_key)
+//////////////
+-passes=1
+
+libh mgt_event.h
+libh ../../config.h