[svn-commits] dvossel: trunk r326485 - in /trunk: ./ res/res_timing_timerfd.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Wed Jul 6 10:30:32 CDT 2011


Author: dvossel
Date: Wed Jul  6 10:30:28 2011
New Revision: 326485

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=326485
Log:
Merged revisions 326484 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r326484 | dvossel | 2011-07-06 10:26:49 -0500 (Wed, 06 Jul 2011) | 10 lines
  
  Reverts fix for timerfd locking issue.
  
  jrose discovered a performance issue with this
  fix that prevents his analog phones from working
  when using timerfd as a timing source.  Until
  it is understood what is causing this performance
  problem, this patch is being reverted.
........

Modified:
    trunk/   (props changed)
    trunk/res/res_timing_timerfd.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.8-merged' - no diff available.

Modified: trunk/res/res_timing_timerfd.c
URL: http://svnview.digium.com/svn/asterisk/trunk/res/res_timing_timerfd.c?view=diff&rev=326485&r1=326484&r2=326485
==============================================================================
--- trunk/res/res_timing_timerfd.c (original)
+++ trunk/res/res_timing_timerfd.c Wed Jul  6 10:30:28 2011
@@ -162,35 +162,7 @@
 	uint64_t expirations;
 	int read_result = 0;
 
-	struct timerfd_timer *our_timer, find_helper = {
-		.handle = handle,
-	};
-
-	if (!(our_timer = ao2_find(timerfd_timers, &find_helper, OBJ_POINTER))) {
-		ast_log(LOG_ERROR, "Couldn't find timer with handle %d\n", handle);
-		return;
-	}
-
-	if (our_timer->saved_timer.it_value.tv_nsec == 0L) {
-		ast_log(LOG_DEBUG, "Reading attempt on idle timerfd.\n");
-		return;
-	}
-
 	do {
-		struct itimerspec timer_status;
-
-		if (timerfd_gettime(handle, &timer_status)) {
-			ast_log(LOG_ERROR, "Call to timerfd_gettime() error: %s\n", strerror(errno));
-			expirations = 0;
-			break;
-		}
-
-		if ((timer_status.it_value.tv_sec == 0) && (timer_status.it_value.tv_nsec == 0)) {
-			ast_log(LOG_DEBUG, "Call to timerfd_timer_ack() with disarmed timer - break now.\n");
-			expirations = 0;
-			break;
-		}
-
 		read_result = read(handle, &expirations, sizeof(expirations));
 		if (read_result == -1) {
 			if (errno == EINTR || errno == EAGAIN) {




More information about the svn-commits mailing list