@@ -518,27 +518,28 @@ module HOST = struct
518
518
}) in
519
519
with_xs
520
520
(fun xs ->
521
- xs.Xs. rm root;
522
- let write_with_perms key value =
523
- xs.Xs. write key value;
524
- xs.Xs. setperms key perms
525
- in
526
- write_with_perms root " " ;
527
- List. iter (fun feature ->
528
- let feature_root = Filename. concat root feature.Host. name in
529
- let parameters_root = Filename. concat feature_root " parameters" in
530
- write_with_perms feature_root " " ;
531
- write_with_perms parameters_root " " ;
532
- write_with_perms
533
- (Filename. concat feature_root " licensed" )
534
- (if feature.Host. licensed then " 1" else " 0" );
535
- List. iter
536
- (fun (key , value ) ->
537
- write_with_perms
538
- (Filename. concat parameters_root key)
539
- value)
540
- feature.Host. parameters)
541
- features)
521
+ Xs. transaction xs (fun t ->
522
+ t.Xst. rm root;
523
+ let write_with_perms key value =
524
+ t.Xst. write key value;
525
+ t.Xst. setperms key perms
526
+ in
527
+ write_with_perms root " " ;
528
+ List. iter (fun feature ->
529
+ let feature_root = Filename. concat root feature.Host. name in
530
+ let parameters_root = Filename. concat feature_root " parameters" in
531
+ write_with_perms feature_root " " ;
532
+ write_with_perms parameters_root " " ;
533
+ write_with_perms
534
+ (Filename. concat feature_root " licensed" )
535
+ (if feature.Host. licensed then " 1" else " 0" );
536
+ List. iter
537
+ (fun (key , value ) ->
538
+ write_with_perms
539
+ (Filename. concat parameters_root key)
540
+ value)
541
+ feature.Host. parameters)
542
+ features))
542
543
end
543
544
544
545
module VM = struct
0 commit comments