ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-XSThreadPool/etp.c
(Generate patch)

Comparing AnyEvent-XSThreadPool/etp.c (file contents):
Revision 1.1 by root, Thu Jun 25 21:08:51 2015 UTC vs.
Revision 1.2 by root, Thu Jun 25 21:24:18 2015 UTC

586 etp_maybe_start_thread (pool); 586 etp_maybe_start_thread (pool);
587 } 587 }
588} 588}
589 589
590ETP_API_DECL void ecb_cold 590ETP_API_DECL void ecb_cold
591etp_set_max_poll_time (etp_pool pool, double nseconds) 591etp_set_max_poll_time (etp_pool pool, double seconds)
592{ 592{
593 if (WORDACCESS_UNSAFE) X_LOCK (pool->reslock); 593 if (WORDACCESS_UNSAFE) X_LOCK (pool->reslock);
594 pool->max_poll_time = nseconds * ETP_TICKS; 594 pool->max_poll_time = seconds * ETP_TICKS;
595 if (WORDACCESS_UNSAFE) X_UNLOCK (pool->reslock); 595 if (WORDACCESS_UNSAFE) X_UNLOCK (pool->reslock);
596} 596}
597 597
598ETP_API_DECL void ecb_cold 598ETP_API_DECL void ecb_cold
599etp_set_max_poll_reqs (etp_pool pool, unsigned int maxreqs) 599etp_set_max_poll_reqs (etp_pool pool, unsigned int maxreqs)
602 pool->max_poll_reqs = maxreqs; 602 pool->max_poll_reqs = maxreqs;
603 if (WORDACCESS_UNSAFE) X_UNLOCK (pool->reslock); 603 if (WORDACCESS_UNSAFE) X_UNLOCK (pool->reslock);
604} 604}
605 605
606ETP_API_DECL void ecb_cold 606ETP_API_DECL void ecb_cold
607etp_set_max_idle (etp_pool pool, unsigned int nthreads) 607etp_set_max_idle (etp_pool pool, unsigned int threads)
608{ 608{
609 if (WORDACCESS_UNSAFE) X_LOCK (pool->reqlock); 609 if (WORDACCESS_UNSAFE) X_LOCK (pool->reqlock);
610 pool->max_idle = nthreads; 610 pool->max_idle = threads;
611 if (WORDACCESS_UNSAFE) X_UNLOCK (pool->reqlock); 611 if (WORDACCESS_UNSAFE) X_UNLOCK (pool->reqlock);
612} 612}
613 613
614ETP_API_DECL void ecb_cold 614ETP_API_DECL void ecb_cold
615etp_set_idle_timeout (etp_pool pool, unsigned int seconds) 615etp_set_idle_timeout (etp_pool pool, unsigned int seconds)
618 pool->idle_timeout = seconds; 618 pool->idle_timeout = seconds;
619 if (WORDACCESS_UNSAFE) X_UNLOCK (pool->reqlock); 619 if (WORDACCESS_UNSAFE) X_UNLOCK (pool->reqlock);
620} 620}
621 621
622ETP_API_DECL void ecb_cold 622ETP_API_DECL void ecb_cold
623etp_set_min_parallel (etp_pool pool, unsigned int nthreads) 623etp_set_min_parallel (etp_pool pool, unsigned int threads)
624{ 624{
625 if (pool->wanted < nthreads) 625 if (pool->wanted < threads)
626 pool->wanted = nthreads; 626 pool->wanted = threads;
627} 627}
628 628
629ETP_API_DECL void ecb_cold 629ETP_API_DECL void ecb_cold
630etp_set_max_parallel (etp_pool pool, unsigned int nthreads) 630etp_set_max_parallel (etp_pool pool, unsigned int threads)
631{ 631{
632 if (pool->wanted > nthreads) 632 if (pool->wanted > threads)
633 pool->wanted = nthreads; 633 pool->wanted = threads;
634 634
635 while (pool->started > pool->wanted) 635 while (pool->started > pool->wanted)
636 etp_end_thread (pool); 636 etp_end_thread (pool);
637} 637}
638 638

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines