# File src/DbPool.rb, line 138
                def getConnection
                        idleConn = nil #predeclare

                        @classMutex.synchronize {
                                callcc do |cont|
                                        idleConn = @pool.find do |conn|
                                                conn.status == :IDLE
                                        end
                                        if not idleConn
                                                @connectionFreed.wait(@classMutex)
                                                cont.call
                                        end
                                end
                                idleConn.status = :BUSY
                        }
                        if block_given?
                                begin
                                        yield idleConn
                                ensure
                                        idleConn.freeConnection
                                end
                        else
                                return idleConn
                        end
                end