Translation components API.

See the Weblate's Web API documentation for detailed description of the API.

GET /api/translations/documentation/articleslinux-emulation_index/nb_NO/units/?format=api&page=3
HTTP 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 396,
    "next": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/units/?format=api&page=4",
    "previous": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/units/?format=api&page=2",
    "results": [
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "The same goes with the UNIX(R) API.  Most programs can live with a very limited set of syscalls working.  Those syscalls tend to be the oldest ones (man:read[2]/man:write[2], man:fork[2] family, man:signal[3] handling, man:exit[3], man:socket[2] API) hence it is easy to emulate because their semantics is shared among all UNIX(R)es, which exist todays."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 760708597570888289,
            "content_hash": 760708597570888289,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:420",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 111,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 52,
            "source_unit": "https://translate-dev.freebsd.org/api/units/612333/?format=api",
            "priority": 100,
            "id": 787816,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=8a8e947067cc6261",
            "url": "https://translate-dev.freebsd.org/api/units/787816/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:09.255344Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Emulation"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5068111918082039090,
            "content_hash": 5068111918082039090,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:422",
            "context": "",
            "note": "type: Title ==",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 112,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380243/?format=api",
            "priority": 100,
            "id": 787821,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=c6558cefff341d32",
            "url": "https://translate-dev.freebsd.org/api/units/787821/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:09.317397Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "How emulation works in FreeBSD"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3076149006527228918,
            "content_hash": -3076149006527228918,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:424",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 113,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 5,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380245/?format=api",
            "priority": 100,
            "id": 787824,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=554f52c6d5c6140a",
            "url": "https://translate-dev.freebsd.org/api/units/787824/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:09.330909Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "As stated earlier, FreeBSD supports running binaries from several other UNIX(R)es.  This works because FreeBSD has an abstraction called the execution class loader.  This wedges into the man:execve[2] syscall, so when man:execve[2] is about to execute a binary it examines its type."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6767841103420010780,
            "content_hash": 6767841103420010780,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:429",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 114,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 42,
            "source_unit": "https://translate-dev.freebsd.org/api/units/612335/?format=api",
            "priority": 100,
            "id": 787829,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=ddec33a041a3311c",
            "url": "https://translate-dev.freebsd.org/api/units/787829/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:09.357381Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "There are basically two types of binaries in FreeBSD.  Shell-like text scripts which are identified by `#!` as their first two characters and normal (typically _ELF_) binaries, which are a representation of a compiled executable object.  The vast majority (one could say all of them) of binaries in FreeBSD are from type ELF.  ELF files contain a header, which specifies the OS ABI for this ELF file.  By reading this information, the operating system can accurately determine what type of binary the given file is."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7964222550709979183,
            "content_hash": 7964222550709979183,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:435",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 115,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 85,
            "source_unit": "https://translate-dev.freebsd.org/api/units/612337/?format=api",
            "priority": 100,
            "id": 787833,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=ee869a36af39482f",
            "url": "https://translate-dev.freebsd.org/api/units/787833/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:09.527616Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Every OS ABI must be registered in the FreeBSD kernel.  This applies to the FreeBSD native OS ABI, as well.  So when man:execve[2] executes a binary it iterates through the list of registered APIs and when it finds the right one it starts to use the information contained in the OS ABI description (its syscall table, `errno` translation table, etc.).  So every time the process calls a syscall, it uses its own set of syscalls instead of some global one.  This effectively provides a very elegant and easy way of supporting execution of various binary formats."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -395350263887773258,
            "content_hash": -395350263887773258,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:441",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 116,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 96,
            "source_unit": "https://translate-dev.freebsd.org/api/units/612339/?format=api",
            "priority": 100,
            "id": 787834,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=7a836f07971cc1b6",
            "url": "https://translate-dev.freebsd.org/api/units/787834/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:09.536666Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "The nature of emulation of different OSes (and also some other subsystems) led developers to invite a handler event mechanism.  There are various places in the kernel, where a list of event handlers are called.  Every subsystem can register an event handler and they are called accordingly.  For example, when a process exits there is a handler called that possibly cleans up whatever the subsystem needs to be cleaned."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -779589601339418650,
            "content_hash": -779589601339418650,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:446",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 117,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 69,
            "source_unit": "https://translate-dev.freebsd.org/api/units/612341/?format=api",
            "priority": 100,
            "id": 787837,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=752e5763559357e6",
            "url": "https://translate-dev.freebsd.org/api/units/787837/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:09.640515Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Those simple facilities provide basically everything that is needed for the emulation infrastructure and in fact these are basically the only things necessary to implement the Linux(R) emulation layer."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5730839877154136347,
            "content_hash": -5730839877154136347,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:448",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 118,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 29,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380255/?format=api",
            "priority": 100,
            "id": 787847,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=3077f77eb9959ee5",
            "url": "https://translate-dev.freebsd.org/api/units/787847/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:09.798936Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Common primitives in the FreeBSD kernel"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4273340388558647671,
            "content_hash": -4273340388558647671,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:450",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 119,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 6,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380257/?format=api",
            "priority": 100,
            "id": 787852,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=44b20b8ec7a1ce89",
            "url": "https://translate-dev.freebsd.org/api/units/787852/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:09.920697Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Emulation layers need some support from the operating system.  I am going to describe some of the supported primitives in the FreeBSD operating system."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4703453344085690940,
            "content_hash": 4703453344085690940,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:454",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 120,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 24,
            "source_unit": "https://translate-dev.freebsd.org/api/units/612343/?format=api",
            "priority": 100,
            "id": 787855,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=c14605e57fd9ca3c",
            "url": "https://translate-dev.freebsd.org/api/units/787855/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.058361Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Locking primitives"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 408425924023565031,
            "content_hash": 408425924023565031,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:456",
            "context": "",
            "note": "type: Title ====",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 121,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380261/?format=api",
            "priority": 100,
            "id": 787856,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=85ab0536c67c3ae7",
            "url": "https://translate-dev.freebsd.org/api/units/787856/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.083614Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Contributed by: `{attilio}`"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8911628971919295648,
            "content_hash": -8911628971919295648,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:459",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 122,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 3,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380263/?format=api",
            "priority": 100,
            "id": 787857,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=045388aa76abbb60",
            "url": "https://translate-dev.freebsd.org/api/units/787857/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.102658Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "The FreeBSD synchronization primitive set is based on the idea to supply a rather huge number of different primitives in a way that the better one can be used for every particular, appropriate situation."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5914859137339017904,
            "content_hash": 5914859137339017904,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:461",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 123,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 34,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380265/?format=api",
            "priority": 100,
            "id": 787859,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=d215cd0c1190cab0",
            "url": "https://translate-dev.freebsd.org/api/units/787859/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.135814Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "To a high level point of view you can consider three kinds of synchronization primitives in the FreeBSD kernel:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4386223497983398662,
            "content_hash": 4386223497983398662,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:463",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 124,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 19,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380267/?format=api",
            "priority": 100,
            "id": 787860,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=bcdeff083ec59306",
            "url": "https://translate-dev.freebsd.org/api/units/787860/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.153221Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "atomic operations and memory barriers"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1166133961375624267,
            "content_hash": 1166133961375624267,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:465",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 125,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 5,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380269/?format=api",
            "priority": 100,
            "id": 787862,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=902ef0a8d0502c4b",
            "url": "https://translate-dev.freebsd.org/api/units/787862/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.179958Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "locks"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1024290492185615707,
            "content_hash": 1024290492185615707,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:466",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 126,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380271/?format=api",
            "priority": 100,
            "id": 787863,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=8e3702c695889d5b",
            "url": "https://translate-dev.freebsd.org/api/units/787863/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.194851Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "scheduling barriers"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5083647819440679008,
            "content_hash": -5083647819440679008,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:467",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 127,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380273/?format=api",
            "priority": 100,
            "id": 787865,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=3973413e170c97a0",
            "url": "https://translate-dev.freebsd.org/api/units/787865/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.230661Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Below there are descriptions for the 3 families.  For every lock, you should really check the linked manpage (where possible) for more detailed explanations."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8711501567611781111,
            "content_hash": -8711501567611781111,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:470",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 128,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 24,
            "source_unit": "https://translate-dev.freebsd.org/api/units/612345/?format=api",
            "priority": 100,
            "id": 787867,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=071a877ad23dc009",
            "url": "https://translate-dev.freebsd.org/api/units/787867/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.307718Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Atomic operations and memory barriers"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8932650857880175,
            "content_hash": -8932650857880175,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:472",
            "context": "",
            "note": "type: Title =====",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 129,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 5,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380277/?format=api",
            "priority": 100,
            "id": 787871,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=7fe043cd26b6a591",
            "url": "https://translate-dev.freebsd.org/api/units/787871/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.360941Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Atomic operations are implemented through a set of functions performing simple arithmetics on memory operands in an atomic way with respect to external events (interrupts, preemption, etc.).  Atomic operations can guarantee atomicity just on small data types (in the magnitude order of the `.long.` architecture C data type), so should be rarely used directly in the end-level code, if not only for very simple operations (like flag setting in a bitmap, for example).  In fact, it is rather simple and common to write down a wrong semantic based on just atomic operations (usually referred as lock-less).  The FreeBSD kernel offers a way to perform atomic operations in conjunction with a memory barrier.  The memory barriers will guarantee that an atomic operation will happen following some specified ordering with respect to other memory accesses.  For example, if we need that an atomic operation happen just after all other pending writes (in terms of instructions reordering buffers activities) are completed, we need to explicitly use a memory barrier in conjunction to this atomic operation.  So it is simple to understand why memory barriers play a key role for higher-level locks building (just as refcounts, mutexes, etc.).  For a detailed explanatory on atomic operations, please refer to man:atomic[9].  It is far, however, noting that atomic operations (and memory barriers as well) should ideally only be used for building front-ending locks (as mutexes)."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7767704394604442841,
            "content_hash": -7767704394604442841,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:483",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 130,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 229,
            "source_unit": "https://translate-dev.freebsd.org/api/units/612347/?format=api",
            "priority": 100,
            "id": 787875,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=14339202175c8b27",
            "url": "https://translate-dev.freebsd.org/api/units/787875/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.398027Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Refcounts"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1474105584341097648,
            "content_hash": 1474105584341097648,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:485",
            "context": "",
            "note": "type: Title =====",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 131,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380281/?format=api",
            "priority": 100,
            "id": 787876,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=9475133804121cb0",
            "url": "https://translate-dev.freebsd.org/api/units/787876/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.409502Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Refcounts are interfaces for handling reference counters.  They are implemented through atomic operations and are intended to be used just for cases, where the reference counter is the only one thing to be protected, so even something like a spin-mutex is deprecated.  Using the refcount interface for structures, where a mutex is already used is often wrong since we should probably close the reference counter in some already protected paths.  A manpage discussing refcount does not exist currently, just check [.filename]#sys/refcount.h# for an overview of the existing API."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6981940657135518225,
            "content_hash": 6981940657135518225,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:491",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 132,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 88,
            "source_unit": "https://translate-dev.freebsd.org/api/units/612349/?format=api",
            "priority": 100,
            "id": 787877,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=e0e4d609276b8211",
            "url": "https://translate-dev.freebsd.org/api/units/787877/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.423560Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Locks"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8723919511929475541,
            "content_hash": -8723919511929475541,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:493",
            "context": "",
            "note": "type: Title =====",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 133,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380285/?format=api",
            "priority": 100,
            "id": 787878,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=06ee696cda582e2b",
            "url": "https://translate-dev.freebsd.org/api/units/787878/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.437642Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "FreeBSD kernel has huge classes of locks.  Every lock is defined by some peculiar properties, but probably the most important is the event linked to contesting holders (or in other terms, the behavior of threads unable to acquire the lock).  FreeBSD's locking scheme presents three different behaviors for contenders:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4894495908906518338,
            "content_hash": -4894495908906518338,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:498",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 134,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 49,
            "source_unit": "https://translate-dev.freebsd.org/api/units/612351/?format=api",
            "priority": 100,
            "id": 787881,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=3c1341e72b0638be",
            "url": "https://translate-dev.freebsd.org/api/units/787881/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.495786Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "spinning"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7961086403949338287,
            "content_hash": -7961086403949338287,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:500",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 135,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380289/?format=api",
            "priority": 100,
            "id": 787884,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=11848a1862686151",
            "url": "https://translate-dev.freebsd.org/api/units/787884/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.589062Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "blocking"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8333502464607622695,
            "content_hash": 8333502464607622695,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:501",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 136,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380291/?format=api",
            "priority": 100,
            "id": 787886,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=f3a68c56b9c79627",
            "url": "https://translate-dev.freebsd.org/api/units/787886/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.638292Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "sleeping"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7651554324314392538,
            "content_hash": -7651554324314392538,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:502",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 137,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380293/?format=api",
            "priority": 100,
            "id": 787887,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=15d037e1b7a2f826",
            "url": "https://translate-dev.freebsd.org/api/units/787887/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.661227Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "numbers are not casual"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6235557811434613806,
            "content_hash": 6235557811434613806,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:506",
            "context": "",
            "note": "type: delimited block = 4",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 138,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 4,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380295/?format=api",
            "priority": 100,
            "id": 787893,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=d68926cac6f8ec2e",
            "url": "https://translate-dev.freebsd.org/api/units/787893/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.805064Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Spinning locks"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1388035840497313960,
            "content_hash": -1388035840497313960,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:509",
            "context": "",
            "note": "type: Title =====",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 139,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380297/?format=api",
            "priority": 100,
            "id": 787896,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=6cbcb4c1d7a59758",
            "url": "https://translate-dev.freebsd.org/api/units/787896/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.904566Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Spin locks let waiters to spin until they cannot acquire the lock.  An important matter do deal with is when a thread contests on a spin lock if it is not descheduled.  Since the FreeBSD kernel is preemptive, this exposes spin lock at the risk of deadlocks that can be solved just disabling interrupts while they are acquired.  For this and other reasons (like lack of priority propagation support, poorness in load balancing schemes between CPUs, etc.), spin locks are intended to protect very small paths of code, or ideally not to be used at all if not explicitly requested (explained later)."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -528423516757435745,
            "content_hash": -528423516757435745,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:515",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 140,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 102,
            "source_unit": "https://translate-dev.freebsd.org/api/units/612353/?format=api",
            "priority": 100,
            "id": 787900,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=78aaa99c78b5da9f",
            "url": "https://translate-dev.freebsd.org/api/units/787900/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.948551Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Blocking"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4044068057258367850,
            "content_hash": -4044068057258367850,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:517",
            "context": "",
            "note": "type: Title =====",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 141,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380301/?format=api",
            "priority": 100,
            "id": 787905,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=47e095873f9c6496",
            "url": "https://translate-dev.freebsd.org/api/units/787905/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:10.997829Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Sleeping"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7942088895251542511,
            "content_hash": -7942088895251542511,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:524",
            "context": "",
            "note": "type: Title =====",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 143,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380305/?format=api",
            "priority": 100,
            "id": 787910,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=11c8083a8ff50e11",
            "url": "https://translate-dev.freebsd.org/api/units/787910/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.061988Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Sleep locks let waiters to be descheduled and fall asleep until the lock holder does not drop it and wakes up one or more waiters.  Since sleep locks are intended to protect large paths of code and to cater asynchronous events, they do not do any form of priority propagation.  They must be implemented through the man:sleepqueue[9] interface."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8278161142777026354,
            "content_hash": -8278161142777026354,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:529",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 144,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 58,
            "source_unit": "https://translate-dev.freebsd.org/api/units/612357/?format=api",
            "priority": 100,
            "id": 787913,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=0d1e104cdb5568ce",
            "url": "https://translate-dev.freebsd.org/api/units/787913/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.106020Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "The order used to acquire locks is very important, not only for the possibility to deadlock due at lock order reversals, but even because lock acquisition should follow specific rules linked to locks natures.  If you give a look at the table above, the practical rule is that if a thread holds a lock of level n (where the level is the number listed close to the kind of lock) it is not allowed to acquire a lock of superior levels, since this would break the specified semantic for a path.  For example, if a thread holds a block lock (level 2), it is allowed to acquire a spin lock (level 1) but not a sleep lock (level 3), since block locks are intended to protect smaller paths than sleep lock (these rules are not about atomic operations or scheduling barriers, however)."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4274203117560914780,
            "content_hash": 4274203117560914780,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:533",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 145,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 142,
            "source_unit": "https://translate-dev.freebsd.org/api/units/612359/?format=api",
            "priority": 100,
            "id": 787916,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=bb510516f815e35c",
            "url": "https://translate-dev.freebsd.org/api/units/787916/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.141142Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "This is a list of lock with their respective behaviors:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4511349752506426902,
            "content_hash": 4511349752506426902,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:535",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 146,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 10,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380311/?format=api",
            "priority": 100,
            "id": 787920,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=be9b88b29fb12616",
            "url": "https://translate-dev.freebsd.org/api/units/787920/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.202725Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "spin mutex - spinning - man:mutex[9]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7635125032725461095,
            "content_hash": -7635125032725461095,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:537",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 147,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 6,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380313/?format=api",
            "priority": 100,
            "id": 787923,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=160a963c40b4c799",
            "url": "https://translate-dev.freebsd.org/api/units/787923/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.228690Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "sleep mutex - blocking - man:mutex[9]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 9124517545716684670,
            "content_hash": 9124517545716684670,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:538",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 148,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 6,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380315/?format=api",
            "priority": 100,
            "id": 787926,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=fea0cc5d3343177e",
            "url": "https://translate-dev.freebsd.org/api/units/787926/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.255285Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "pool mutex - blocking - man:mtx[pool]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4641429618308667934,
            "content_hash": -4641429618308667934,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:539",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 149,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 6,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380317/?format=api",
            "priority": 100,
            "id": 787927,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=3f96545a7ebc25e2",
            "url": "https://translate-dev.freebsd.org/api/units/787927/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.277759Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "sleep family - sleeping - man:sleep[9] pause tsleep msleep msleep spin msleep rw msleep sx"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1138827010727312549,
            "content_hash": -1138827010727312549,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:540",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 150,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 15,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380319/?format=api",
            "priority": 100,
            "id": 787928,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=703212de14fa835b",
            "url": "https://translate-dev.freebsd.org/api/units/787928/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.292353Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "condvar - sleeping - man:condvar[9]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8294894045432915177,
            "content_hash": -8294894045432915177,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:541",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 151,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 5,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380321/?format=api",
            "priority": 100,
            "id": 787929,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=0ce29dd05c77db17",
            "url": "https://translate-dev.freebsd.org/api/units/787929/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.314355Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "rwlock - blocking - man:rwlock[9]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 3472703386312266604,
            "content_hash": 3472703386312266604,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:542",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 152,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 5,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380323/?format=api",
            "priority": 100,
            "id": 787930,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=b0318554a770536c",
            "url": "https://translate-dev.freebsd.org/api/units/787930/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.333640Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "sxlock - sleeping - man:sx[9]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5766190761735994055,
            "content_hash": 5766190761735994055,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:543",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 153,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 5,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380325/?format=api",
            "priority": 100,
            "id": 787934,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=d0059ff27c69bac7",
            "url": "https://translate-dev.freebsd.org/api/units/787934/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.378819Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "lockmgr - sleeping - man:lockmgr[9]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8307808193529634330,
            "content_hash": 8307808193529634330,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:544",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 154,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 5,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380327/?format=api",
            "priority": 100,
            "id": 787940,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=f34b43890d69de1a",
            "url": "https://translate-dev.freebsd.org/api/units/787940/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.541715Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "semaphores - sleeping - man:sema[9]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6823836461342116387,
            "content_hash": 6823836461342116387,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:545",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 155,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 5,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380329/?format=api",
            "priority": 100,
            "id": 787945,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=deb3231b7ba7ca23",
            "url": "https://translate-dev.freebsd.org/api/units/787945/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.596959Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Among these locks only mutexes, sxlocks, rwlocks and lockmgrs are intended to handle recursion, but currently recursion is only supported by mutexes and lockmgrs."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8156981502300583946,
            "content_hash": -8156981502300583946,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:547",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 156,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 24,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380331/?format=api",
            "priority": 100,
            "id": 787948,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=0ecc948a8bf107f6",
            "url": "https://translate-dev.freebsd.org/api/units/787948/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.637918Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Scheduling barriers"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1969377339245918545,
            "content_hash": -1969377339245918545,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:549",
            "context": "",
            "note": "type: Title =====",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 157,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380333/?format=api",
            "priority": 100,
            "id": 787950,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=64ab5dbe818b06af",
            "url": "https://translate-dev.freebsd.org/api/units/787950/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.686819Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "critical sections (and preemption)"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2110670840391614742,
            "content_hash": -2110670840391614742,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:555",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 159,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 4,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380337/?format=api",
            "priority": 100,
            "id": 787957,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=62b5640db0aebeea",
            "url": "https://translate-dev.freebsd.org/api/units/787957/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.744997Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "sched_bind"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7295949482855070271,
            "content_hash": -7295949482855070271,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:556",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 160,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380339/?format=api",
            "priority": 100,
            "id": 787961,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=1abf9499d73a85c1",
            "url": "https://translate-dev.freebsd.org/api/units/787961/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.843440Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "sched_pin"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5242048873760813891,
            "content_hash": -5242048873760813891,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:557",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 161,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380341/?format=api",
            "priority": 100,
            "id": 787964,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=37408052a8400cbd",
            "url": "https://translate-dev.freebsd.org/api/units/787964/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.862096Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articleslinux-emulation_index/nb_NO/?format=api",
            "source": [
                "Generally, these should be used only in a particular context and even if they can often replace locks, they should be avoided because they do not let the diagnose of simple eventual problems with locking debugging tools (as man:witness[4])."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2061032587203150117,
            "content_hash": -2061032587203150117,
            "location": "documentation/content/en/articles/linux-emulation/_index.adoc:559",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 162,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 39,
            "source_unit": "https://translate-dev.freebsd.org/api/units/380343/?format=api",
            "priority": 100,
            "id": 787967,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/articleslinux-emulation_index/nb_NO/?checksum=6365bdc821407edb",
            "url": "https://translate-dev.freebsd.org/api/units/787967/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-04-04T22:25:11.902300Z"
        }
    ]
}