Git Product home page Git Product logo

scalable-kvazaar's People

Contributors

aballier avatar ahresse avatar arizer avatar aryla avatar darealshinji avatar dremek avatar fador avatar ffontaine avatar hyvoenen avatar ignition avatar jbeich avatar jeeb avatar jovasa avatar lu-zero avatar miimiz avatar mikpit avatar mrasura avatar peterdavehello avatar redfoxymoon avatar santeris avatar timotf avatar venti- avatar vfr-maniac avatar whamidou avatar wiiaboo avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

hujialu asdlei99

scalable-kvazaar's Issues

Improper locking bugs(e.g., deadlocks) on the lock

Hi, developers, similarly in kvazzar, it seems the lock threadqueue->lock is not released correctly when pthread_create!=0 in the function kvz_threadqueue_init?

PTHREAD_LOCK(&threadqueue->lock);
for (int i = 0; i < thread_count; i++) {
if (pthread_create(&threadqueue->threads[i], NULL, threadqueue_worker, threadqueue) != 0) {
fprintf(stderr, "pthread_create failed!\n");
goto failed;
}
threadqueue->thread_count++;
threadqueue->thread_running_count++;
}
PTHREAD_UNLOCK(&threadqueue->lock);

In the function kvz_threadqueue_free, it is safer if releasing the lock before destroying

PTHREAD_LOCK(&threadqueue->lock); 
 for (int i = 0; i < thread_count; i++) { 
   if (pthread_create(&threadqueue->threads[i], NULL, threadqueue_worker, threadqueue) != 0) { 
       fprintf(stderr, "pthread_create failed!\n"); 
       goto failed; 
   } 
   threadqueue->thread_count++; 
   threadqueue->thread_running_count++; 
 } 
 PTHREAD_UNLOCK(&threadqueue->lock); 

 return threadqueue; 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.