René's URL Explorer Experiment


Title: FIX memoryview leaks and retrofit memory-manager as context-managers by ankostis · Pull Request #33 · gitpython-developers/smmap · GitHub

Open Graph Title: FIX memoryview leaks and retrofit memory-manager as context-managers by ankostis · Pull Request #33 · gitpython-developers/smmap

X Title: FIX memoryview leaks and retrofit memory-manager as context-managers by ankostis · Pull Request #33 · gitpython-developers/smmap

Description: BREAKING API: retrofit git.util.mman as context-manager, to release memory-mapped regions held. The mmap-manager(s) are re-entrant, but not thread-safe context-manager(s), to be used within a with ...: block, ensuring any left-overs cursors are cleaned up. If not entered, :meth:StaticWindowMapManager.make_cursor() and/or :meth:WindowCursor.use_region() will scream. Get them from smmap.managed_mmaps(). Simplify :class:SlidingWindowMapBuffer as create/close context-manager (no begin_access(), or end_access()).

Open Graph Description: BREAKING API: retrofit git.util.mman as context-manager, to release memory-mapped regions held. The mmap-manager(s) are re-entrant, but not thread-safe context-manager(s), to be used within a wit...

X Description: BREAKING API: retrofit git.util.mman as context-manager, to release memory-mapped regions held. The mmap-manager(s) are re-entrant, but not thread-safe context-manager(s), to be used within a wit...

Opengraph URL: https://github.com/gitpython-developers/smmap/pull/33

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:0dc8c8b2-709e-d262-a217-53d7201f1e96
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id9AAE:29DBA8:E7DA74:13D3A8E:69693E12
html-safe-nonceee2dccb31ed81d20400d426df5752680a0654079804bbf0f9d3ef829c5373d90
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5QUFFOjI5REJBODpFN0RBNzQ6MTNEM0E4RTo2OTY5M0UxMiIsInZpc2l0b3JfaWQiOiI0NDk4Mzc4ODkwMjMyMjgyNjQyIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac31d33e8f30880d85f12aa66fa9cb4f1fd4e7a670e8e2812c927c40259a54b3a7
hovercard-subject-tagpull_request:91164780
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/gitpython-developers/smmap/pull/33/files
twitter:imagehttps://avatars.githubusercontent.com/u/501585?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/501585?s=400&v=4
og:image:altBREAKING API: retrofit git.util.mman as context-manager, to release memory-mapped regions held. The mmap-manager(s) are re-entrant, but not thread-safe context-manager(s), to be used within a wit...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None54182691a21263b584d2e600b758e081b0ff1d10ffc0d2eefa51cf754b43b51d
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/gitpython-developers/smmap git https://github.com/gitpython-developers/smmap.git
octolytics-dimension-user_id503709
octolytics-dimension-user_logingitpython-developers
octolytics-dimension-repository_id1865144
octolytics-dimension-repository_nwogitpython-developers/smmap
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1865144
octolytics-dimension-repository_network_root_nwogitpython-developers/smmap
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
released69ac0477df0f87da03b8b06cebd187012d7a930
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/gitpython-developers/smmap/pull/33/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgitpython-developers%2Fsmmap%2Fpull%2F33%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgitpython-developers%2Fsmmap%2Fpull%2F33%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=gitpython-developers%2Fsmmap
Reloadhttps://github.com/gitpython-developers/smmap/pull/33/files
Reloadhttps://github.com/gitpython-developers/smmap/pull/33/files
Reloadhttps://github.com/gitpython-developers/smmap/pull/33/files
gitpython-developers https://github.com/gitpython-developers
smmaphttps://github.com/gitpython-developers/smmap
Notifications https://github.com/login?return_to=%2Fgitpython-developers%2Fsmmap
Fork 29 https://github.com/login?return_to=%2Fgitpython-developers%2Fsmmap
Star 71 https://github.com/login?return_to=%2Fgitpython-developers%2Fsmmap
Code https://github.com/gitpython-developers/smmap
Issues 2 https://github.com/gitpython-developers/smmap/issues
Pull requests 1 https://github.com/gitpython-developers/smmap/pulls
Actions https://github.com/gitpython-developers/smmap/actions
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/gitpython-developers/smmap/security
Please reload this pagehttps://github.com/gitpython-developers/smmap/pull/33/files
Insights https://github.com/gitpython-developers/smmap/pulse
Code https://github.com/gitpython-developers/smmap
Issues https://github.com/gitpython-developers/smmap/issues
Pull requests https://github.com/gitpython-developers/smmap/pulls
Actions https://github.com/gitpython-developers/smmap/actions
Security https://github.com/gitpython-developers/smmap/security
Insights https://github.com/gitpython-developers/smmap/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fgitpython-developers%2Fsmmap%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fgitpython-developers%2Fsmmap%2Fissues%2Fnew%2Fchoose
ankostishttps://github.com/ankostis
gitpython-developers:masterhttps://github.com/gitpython-developers/smmap/tree/master
ankostis:leaks2https://github.com/ankostis/smmap/tree/leaks2
Conversation 6 https://github.com/gitpython-developers/smmap/pull/33
Commits 19 https://github.com/gitpython-developers/smmap/pull/33/commits
Checks 0 https://github.com/gitpython-developers/smmap/pull/33/checks
Files changed https://github.com/gitpython-developers/smmap/pull/33/files
Please reload this pagehttps://github.com/gitpython-developers/smmap/pull/33/files
FIX memoryview leaks and retrofit memory-manager as context-managers https://github.com/gitpython-developers/smmap/pull/33/files#top
Show all changes 19 commits https://github.com/gitpython-developers/smmap/pull/33/files
2347f3d feat(enc): test with unicode tmpdir ankostis Oct 23, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/2347f3d6121ecd499b4aca2fde734553ba2f445c
883217b fix(leaks): attempt to plug the leaks & filter dead regions ankostis Oct 24, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/883217bedd27dc5502a9760b8d734cbe11d39904
43c5f23 chore(ver): bump 2.0.1-->2.1.0.dev0 ankostis Oct 24, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/43c5f233477579eed0b9bd5eb8f0049388e1db82
f10196f fix(regs): fix/rename scream_if_closed()-->collect_closed_regions() ankostis Oct 24, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/f10196f7974cc00e0e2f3e6b52262d66f7b99da1
88e2769 chore(ver): bump 2.0.1-->2.1.0.dev1 ankostis Oct 24, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/88e276952639711f1bca7774cd04d96a5564aae3
133dd1c style(listuple): pep8, literals for empty lists/tuples ankostis Oct 24, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/133dd1c9eb26c41683b15ea3459e8b7de5603358
7c1eac7 refact(region): rename offset `_b --> _ofs` ankostis Oct 24, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/7c1eac7944c680ca191fc8e54d92e301ae4b79a9
bba086a refact(minor): use region.priv-func, close fd on same condition ankostis Oct 25, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/bba086aa50c8d57ba84973482d23897e876fe121
a2bc2d2 feat(mman): BREAKING API `mman` as context-manager to release regions ankostis Oct 25, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/a2bc2d2e983e34b576f87127a531fdf978ecc322
01df7f3 chore(ver): bump 2.1.0.dev1-->2.1.0.dev3 ankostis Oct 25, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/01df7f33136644b189e8b6a981180cbc4c77f490
bf68f77 feat(mman-contxt): opt-out not to scream if mman not entered ankostis Oct 25, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/bf68f775d7a9e176fa518d1d10cca6d351582684
4598966 fix(leaks): attempt to gc-collect before region-collect ankostis Oct 25, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/4598966aba7bbf8873de5e29893117b95f601379
d0bd74e fix(mman): exit log-msg were missing left-overs arg, log as debug ankostis Oct 25, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/d0bd74ec3ee0b66ca50e096497234c7ec72f8854
e33235a refact(buf): also use SlidingWindowMapBuffer as optional context-manager ankostis Oct 25, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/e33235a24d1e3cd9a41079af2b3edd09c5b4a02a
33f12e6 refact(TCs): unittestize assertions ankostis Oct 25, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/33f12e64438ff942ec401ef23697e6c31ee03a4a
8489c31 refact(buf): simplify API - no begin/end after construct ankostis Oct 25, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/8489c31d92c63a42273ab04c1d0690f495617ee8
d81dc1d style(mman): move managed_mmaps() closer to 2 mmans ankostis Oct 25, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/d81dc1da26227b0e084438040ec114db48b25de5
9ba1649 fix(leaks): FIX memoryview leak in Windows ankostis Oct 27, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/9ba1649d8e987c2e1ad26a54cbfa9cfe5f3884bb
144891b chore(ver): bump 2.1.0.dev3-->2.1.0.dev4 ankostis Oct 27, 2016 https://github.com/gitpython-developers/smmap/pull/33/commits/144891bc6c3d5ecdd96e522cb4e3571dff948171
Clear filters https://github.com/gitpython-developers/smmap/pull/33/files
Please reload this pagehttps://github.com/gitpython-developers/smmap/pull/33/files
Please reload this pagehttps://github.com/gitpython-developers/smmap/pull/33/files
.travis.yml https://github.com/gitpython-developers/smmap/pull/33/files#diff-6ac3f79fc25d95cd1e3d51da53a4b21b939437392578a35ae8cd6d5366ca5485
changes.rst https://github.com/gitpython-developers/smmap/pull/33/files#diff-18450dccedaf66680c6bfbfa443564198c3d480f939edb0e87f7d8078d0c2673
tutorial.rst https://github.com/gitpython-developers/smmap/pull/33/files#diff-f3195915854c43f1e1a12b561dabc7dd6aeebe49ee0b107221272571ba5dbd87
__init__.py https://github.com/gitpython-developers/smmap/pull/33/files#diff-6c70acf4330c057fdf25070db430320867ea24c119da1dc1cac384d6d19ac6c0
buf.py https://github.com/gitpython-developers/smmap/pull/33/files#diff-41af7558b57a8f43e89f63a33cd7d2ed882a5cb152af4fe5f7c61f97a7e8afa3
mman.py https://github.com/gitpython-developers/smmap/pull/33/files#diff-f7646ee2d641b7a9963cf416e8de1ff75ec0475c6899ec23b12619fc983d4b6d
test_buf.py https://github.com/gitpython-developers/smmap/pull/33/files#diff-6edecb9c7766a068ad3d310337ebe5f9c0de529e8ceea113c11469e60ab15e14
test_mman.py https://github.com/gitpython-developers/smmap/pull/33/files#diff-9caf027c45b2a97e99fc49d178a598e8fdaf479b267c7e5af64de83ee0a91e88
test_tutorial.py https://github.com/gitpython-developers/smmap/pull/33/files#diff-48c1bd22b2d92f565a9c766b2f65652ea77d36f4630ad81b1caef8e2564d7a9a
util.py https://github.com/gitpython-developers/smmap/pull/33/files#diff-7524929400bea4bb50ce55991a7a480d566ed2164c51196194d2a0ce83433540
.travis.ymlhttps://github.com/gitpython-developers/smmap/pull/33/files#diff-6ac3f79fc25d95cd1e3d51da53a4b21b939437392578a35ae8cd6d5366ca5485
View file https://github.com/gitpython-developers/smmap/blob/144891bc6c3d5ecdd96e522cb4e3571dff948171/.travis.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/gitpython-developers/smmap/pull/33/{{ revealButtonHref }}
https://github.com/gitpython-developers/smmap/pull/33/files#diff-6ac3f79fc25d95cd1e3d51da53a4b21b939437392578a35ae8cd6d5366ca5485
https://github.com/gitpython-developers/smmap/pull/33/files#diff-6ac3f79fc25d95cd1e3d51da53a4b21b939437392578a35ae8cd6d5366ca5485
doc/source/changes.rsthttps://github.com/gitpython-developers/smmap/pull/33/files#diff-18450dccedaf66680c6bfbfa443564198c3d480f939edb0e87f7d8078d0c2673
View file https://github.com/gitpython-developers/smmap/blob/144891bc6c3d5ecdd96e522cb4e3571dff948171/doc/source/changes.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/gitpython-developers/smmap/pull/33/{{ revealButtonHref }}
https://github.com/gitpython-developers/smmap/pull/33/files#diff-18450dccedaf66680c6bfbfa443564198c3d480f939edb0e87f7d8078d0c2673
doc/source/tutorial.rsthttps://github.com/gitpython-developers/smmap/pull/33/files#diff-f3195915854c43f1e1a12b561dabc7dd6aeebe49ee0b107221272571ba5dbd87
View file https://github.com/gitpython-developers/smmap/blob/144891bc6c3d5ecdd96e522cb4e3571dff948171/doc/source/tutorial.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/gitpython-developers/smmap/pull/33/{{ revealButtonHref }}
https://github.com/gitpython-developers/smmap/pull/33/files#diff-f3195915854c43f1e1a12b561dabc7dd6aeebe49ee0b107221272571ba5dbd87
smmap/__init__.pyhttps://github.com/gitpython-developers/smmap/pull/33/files#diff-6c70acf4330c057fdf25070db430320867ea24c119da1dc1cac384d6d19ac6c0
View file https://github.com/gitpython-developers/smmap/blob/144891bc6c3d5ecdd96e522cb4e3571dff948171/smmap/__init__.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/gitpython-developers/smmap/pull/33/{{ revealButtonHref }}
https://github.com/gitpython-developers/smmap/pull/33/files#diff-6c70acf4330c057fdf25070db430320867ea24c119da1dc1cac384d6d19ac6c0
Please reload this pagehttps://github.com/gitpython-developers/smmap/pull/33/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.