コード例 #1
0
ファイル: interp_hashlib.py プロジェクト: nipengadmaster/pypy
 def _digest(self, space):
     with lltype.scoped_alloc(ropenssl.EVP_MD_CTX.TO) as ctx:
         with self.lock:
             ropenssl.EVP_MD_CTX_copy(ctx, self.ctx)
         digest_size = self.digest_size
         with lltype.scoped_alloc(rffi.CCHARP.TO, digest_size) as digest:
             ropenssl.EVP_DigestFinal(ctx, digest, None)
             ropenssl.EVP_MD_CTX_cleanup(ctx)
             return rffi.charpsize2str(digest, digest_size)
コード例 #2
0
ファイル: test_newgc.py プロジェクト: nipengadmaster/pypy
 def __del__(self):
     ropenssl.EVP_MD_CTX_cleanup(self.ctx)
     lltype.free(self.ctx, flavor='raw')